写了几篇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()
{<br> $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
1
2
3
4
5
6
7
8
9
10
11
12
|
<?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