zoukankan      html  css  js  c++  java
  • 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()	
    	{    
                    $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:webframeworkStoreFile.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:webframeworkStoreFile.php on line 78
    

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

    Warning: include(E:web
    untime/conf/conf_dev.php) [function.include]: failed to open stream: No such file or directory in E:web
    untimeappfrontendconfconf_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

  • 相关阅读:
    数组
    基本类型与封装类
    类与对象以及引用以及内存
    (一)eclipse Dynamic web project 工程目录以及文件路径问题
    jdbc
    连接
    curl命令
    java annotation
    websocket
    Trie(前缀树)和ternary trie和binary search tree
  • 原文地址:https://www.cnblogs.com/iuyes/p/3552981.html
Copyright © 2011-2022 走看看