写了几篇LotusPhp,一直没有跑个程序,感觉好像步骤有点错,所以先上个经典的Demo,HelloWorld吧

先按推荐目录建好文件夹,如果懒的建,下面有下载的Demo包,解压就可以用,因为简单,也没有用样式,所以解压到任何目录都可以跑的起来。

先不用考虑怎么用,关键的文件其实就是

runtime/app/frontend/action/default-index.php和runtime/app/frontend/view/default-index.php

Demo主要应用了MVC,及一些基本的文件夹设置,以后的范例基本会在Demo的基础上建立

现在来书写index.php的内容,这个是所有程序文件的引导文件,同样LotusPhp也是单入口

<?php
ob_start();
header('Content-Type:text/html;charset=UTF-8'); //防止直接打开的参数
define("LOTUS", true); //定义根目录
define("ROOT",dirname(__FILE__)); $lotusHome = ROOT.'/framework/';
include($lotusHome . "Lotus.php");
$lotus = new Lotus; //是否处于开发模式
$lotus->devMode = true; //缓存目录
$lotus->defaultStoreDir = ROOT.'/cache/';
$lotus->option['proj_dir'] = ROOT.'/runtime/';
$lotus->option['app_name'] = 'frontend';
$lotus->init();

接下来书写

runtime/app/frontend/action/default-index.php

<?php
class DefaultIndexAction extends LtAction
{
public function execute()
{    
$this->responseType = 'tpl';
$this->data='HelloWorld';
}
}

runtime/app/frontend/view/default-index.php

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>{$this->data}</title>
</head> <body>
{$this->data}
</body>
</html>

一些常见的错误分析:

Warning: mkdir() [function.mkdir]: File exists in E:\web\framework\StoreFile.php on line 76

Warning: file_put_contents(C:/Windows/TEMP/Lt-parsed-token-1511998383/3d/9b/3d9b92c67d278abd5ad503281dd465fa) [function.file-put-contents]: failed to open stream: No such file or directory in E:\web\framework\StoreFile.php on line 78

这种情况多半是由于php版本老,是5.2的或者是会员权限不够,无法在临时目录生成文件造成的,最好的解决办法是修改会员权限或者是替换为5.3以上php版本,如果无法解决,私信我即可,我看到会回复

Warning: include(E:\web\runtime\/conf/conf_dev.php) [function.include]: failed to open stream: No such file or directory in E:\web\runtime\app\frontend\conf\conf_dev.php on line 6

这种情况是因为conf目录建的不对或者是conf.php和conf_dev.php文件导致,下面列出这2个文件的内容,所有的lotusphp应用目录下,都应该有符合规范的conf目录,子目录和这2个文件

conf.php

<?php
$config = array(); foreach(glob(dirname(__FILE__) . '/standard/*.php') as $confFile)
{
if (__FILE__ != $confFile)
{
include($confFile);
}
} return $config;

conf_dev.php

<?php
/**
* 开发模式下先读取standard配置,
* 然后读取dev配置,并覆盖standard的部分配置
*/
include(dirname(__FILE__) .'/conf.php'); foreach(glob(dirname(__FILE__) . '/dev/*.php') as $confFile)
{
if (__FILE__ != $confFile)
{
include($confFile);
}
} return $config;

如果都正确,那这时候运行index.php就会出现熟悉的HelloWorld了,搞定。

附件下载:demo.rar

LotusPhp起步:经典的HelloWorld的更多相关文章

  1. scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld

    scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld 学习了: http://blog.csdn.net/wangmuming/article/details/3407911 ...

  2. SpringMVC学习系列(2) 之 经典的HelloWorld实现

    前一篇简单介绍了Spring MVC的一些知识,下面就要开始学习如何把Spring MVC运用到具体的项目中去. 首先还是从一个简单的Hello World项目说起: 我机器的开发环境为: Ubunt ...

  3. SpringMVC学习(2):经典的HelloWorld实现

    前一篇简单介绍了Spring MVC的一些知识,下面就要开始学习如何把Spring MVC运用到具体的项目中去. 首先还是从一个简单的Hello World项目说起: 我机器的开发环境为: Ubunt ...

  4. SpringMVC(2)经典的HelloWorld实现

    我机器的开发环境为: Ubuntu12.04(不同操作系统对本系列项目没有影响): 开发工具:Eclipse For JavaEE: 数据库:MySql5.5.35; 运行环境:TomCat V7.0 ...

  5. Java入门记(一):折腾HelloWorld

    HelloWorld,学习每门语言的第一步.有人戏称,这些年的编程生涯就是学习各种语言的HelloWorld,不知是自谦还是自嘲.目前所在的公司使用Java作为主要开发语言,我进行语言转换也大半年了, ...

  6. iPhone开发【一】从HelloWorld開始

    转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/8013553 作者:张燕广 从经典的HelloWorld開始踏入iPhon ...

  7. iPhone发展【一】从HelloWorld开始

    转载请注明出处.原文网址:http://blog.csdn.net/m_changgong/article/details/8013553 作者:张燕广 从经典的HelloWorld開始踏入iPhon ...

  8. javascript快速入门1--JavaScript前世今生,HelloWorld与开发环境

    JavaScript历史 大概在1992年,一家称作Nombas的公司开始开发一种叫做C--(C-minus-minus,简称Cmm)的嵌入式脚本语言. Cmm背后的理念很简单:一个足够强大可以替代宏 ...

  9. Scala & IntelliJ IDEA:环境搭建、helloworld

      --------------------- 前言 --------------------- 项目关系,希望用Spark GraphX做数据分析及图像展示,但前提是得回spark:spark是基于 ...

随机推荐

  1. (整理)C#实现UDP广播

    (一) IP地址解析 IP地址的类型:XXX.XXX.XXX.XXXA类: 1.0.0.1--126.255.255.254 最高位是0: 1个字节的网络地址和3个地址的主机地址 测试地址:127.X ...

  2. Temporary Segments: What Happens When a Sort Occurs (文档 ID 102339.1)

    APPLIES TO: Oracle Database - Enterprise Edition - Version 8.1.7.4 to 11.2.0.1 [Release 8.1.7 to 11. ...

  3. java的String类(一)

    final类,无子类. 类内定义了char数组value[],私有,不可修改. String的长度,length(). 判空,isEmpty(). 索引index处的字符,charAt(index). ...

  4. KSImageNamed-Xcode-master 对项目中图片提供自动提示功能的插件

    .使用介绍: (1)KSImageNamed-Xcode-master的使用 安装该插件后,会对文件中图片进行智能提示.  下载地址:http://yun.baidu.com/s/1qWNkvGK  

  5. LLDB命令查看内存的分配历史

    (lldb) script import lldb.macosx.heap(lldb) malloc_info --stack-history 0x10010d680

  6. OC基础(11)

    构造方法 自定义构造方法 继承中的自定义构造方法 自定义类工厂方法 *:first-child { margin-top: 0 !important; } body > *:last-child ...

  7. svn老鸟转用git必须理解的概念

    不都是SCM代码管理嘛,有很大区别么?很多svn老鸟都是抱着这样的心态去学习git,然后无一幸免地陷入“查阅过很多资料,依然掌握不好”的困境,至少我们团队是这样的. 网上的资料确实已经很多了,却没有把 ...

  8. 阿里云搭建LAMP环境详细教程

    一.云服务器的选择 随着大数据时代的到来,为了满足更为复杂的运算和用户更为苛刻的需求,云计算应运而生,随之而来的就是云服务器.过去的服务器成本较高,运算模式较为单一,资源利用率不高,而云服务器的出现刚 ...

  9. fastcgi(一)

    首先安装 fastcgi 开发包 ... #wget http://www.fastcgi.com/dist/fcgi-current.tar.gz #tar -zxvf fcgi-current.t ...

  10. 旅行计划-DAG上最长路

    http://www.luogu.org/problem/show?pid=1137 题目描述 小明要去一个国家旅游.这个国家有N个城市,编号为1-N,并且有M条道路连接着,小明准备从其中一个城市出发 ...