LotusPhp起步:经典的HelloWorld

写了几篇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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。