LotusPhp入口文件解析
LotusPhp也是单入口的框架,可以根据需要开启多个应用实例
例如前台页面可以用index.php作为入口文件,后台可以用admin.php作为入口文件,多个应用实例可以共享应用配置和类库或者根本每个应用实例定义不同的配置和类库。
在LotusPhp框架中,有3个重要的组成部分
类库+约定+胶水代码
而LotusPhp就是通过胶水代码来整合所有类库和约定的,正常情况下,只要引用框架目录中的Lotus.php一个文件即可,其他文件都可以通过Autoload类库自动加载
现在我们就来了解下入口文件的规范
<?php
ob_start(); //如果不开启session,下面这行可以注释掉
session_start(); //定义文件编码
header('Content-Type:text/html;charset=UTF-8'); //防止直接打开的参数,一般用于模板或者类库,函数文件中
define("LOTUS", true); //定义根目录
define("ROOT",dirname(__FILE__)); //引用Lotus.php
$lotusHome = ROOT.'/framework/';
include($lotusHome . "Lotus.php");
$lotus = new Lotus; //是否处于开发模式,开发模式适合于调试,每次运行都会重新编译模板和配置文件
//改成false,即成为生产模式,性能会有所提升,不过更改了模板和配置需要删除文件缓存
$lotus->devMode = true; //定义文件缓存目录
$lotus->defaultStoreDir = ROOT.'/cache/'; //定义项目运行目录,如果不定义项目运行目录,LotusPhp将配合其他框架或者程序只做自动加载的作用,将不调用MVC和路由等组件,你可以把LotusPhp当做一个类库集而不是一个框架使用
$lotus->option['proj_dir'] = ROOT.'/runtime/'; //定义应用实例名称,应用实例目录在项目运行目录下
$lotus->option['app_name'] = 'Admin'; //非必须,定义可以自动加载的目录,一般项目目录下所有函数和类库都会自动加载
//这里定义只适合加载在项目运行目录之外的文件夹中的类库和函数
$lotus->option['autoload_dir'] = ROOT.'/plugin/'; //LotusPhp启动
$lotus->init();
如果您使用别的框架或者视图引擎,可以将LotusPhp当做一个自动加载的类库集也可以,按照上面的注释修改就可以完成,在php程序的第一行引用上面这个文件即可
当然,您也可以将别的框架里的优秀类库稍作修改改为LotusPhp的框架类库或者常用类即可,稍后的章节中,我们会对LotusPhp的框架类库的规范有一个讲解
项目运行目录中的文件,除了视图文件夹和配置文件夹,只允许包含类库和函数文件的php,在函数外或者类库外定义变量,常量或者运行php语句容易引起混乱,不建议这样做。
LotusPhp入口文件解析的更多相关文章
- ecmall 入口文件解析 引入了什么
每一个框架都有自动载入的工具库,搜了半天也没搜到相关介绍,就自己看入口文件琢磨了一下, <?php define('ROOT_PATH', dirname(__FILE__)); //定义项目根 ...
- thinkPHP框架单一入口文件解析
一.index.php (可参考ThinkPHP学习手册http://document.thinkphp.cn/manual_3_2.html#entrance_file) index.php单入口 ...
- Vue源码解析(一):入口文件
在学习Vue源码之前,首先要做的一件事情,就是去GitHub上将Vue源码clone下来,目前我这里分析的Vue版本是V2.5.21,下面开始分析: 一.源码的目录结构: Vue的源码都在src目录下 ...
- tp3.2源码解析——入口文件
如果有人读这篇文章并跟着做的话,希望你能使用支持函数跳转的编辑器,还要善用var_dump和exit,对着源码去调试着看.跟着入口文件读,执行到哪里你看到哪里,对于那些不能一眼看出来的配置,则要记录下 ...
- CI 框架源码解析一之入口文件 index.php
Index.php作为CI框架的入口文件,源码分析,自然而然由此开始.在源码分析的过程中,我们并不会逐行进行解释,而只解释核心的功能和实现,如果英文水平很好的话,读过index.php文件的英文注释之 ...
- 详细解析Thinkphp5.1源码执行入口文件index.php运行过程
详细解析Thinkphp5.1源码执行入口文件index.php运行过程 运行了public目录下的index.php文件后,tp的运行整个运行过程的解析 入口文件index.php代码如下: < ...
- Thinkphp源码分析系列(一)–入口文件
正如官方文档上所介绍的,thinkphp使用单一入口,所有的请求都从默认的index.php文件进入.当然不是说一定非得从index.php进入,这应该取决于你的服务器配置,一般服务器都会有默认的首页 ...
- android基础知识13:AndroidManifest.xml文件解析
注:本文转载于:http://blog.csdn.net/xianming01/article/details/7526987 AndroidManifest.xml文件解析. 1.重要性 Andro ...
- Android之AndroidManifest.xml文件解析
转自:Android学习笔记之AndroidManifest.xml文件解析 一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文 ...
随机推荐
- Using Redis as Django's session store and cache backend
http://michal.karzynski.pl/blog/2013/07/14/using-redis-as-django-session-store-and-cache-backend/
- POJ 3311 【状态压缩DP】
题意: 给n个点,给出矩阵代表i到j单向边的距离. 要求,不介意访问每个点的次数,要求访问完每个点,使得路程总和最小. 思路: 由于不介意访问每个点的次数,所以可以先进行FLOYD求出任意两个点之间的 ...
- bitmap size exceeds VM budget
bitmap size exceeds VM budget we can avoid this error by the following parts:1 its not how much ima ...
- Goldengate常用命令
1.Goldengate的起停 启动goldengate a> 启动goldengate时最好先从target节点开始,然后是source节点.否则data pump进程可能会由于没有收到t ...
- 学习笔记-解析xml文件
1. Dom4J <students> <student> <name>吴飞</name> <c ...
- 下载编译和测试Android 源代码
http://source.android.com/source/downloading.html 其中出现错误 repo: fatal: error unknown url type: https ...
- 没有终结点在侦听可以接受消息的*这通常是由于不正确的地址或者 SOAP操作导致的
引发原因:项目启动时,前端调用 wcf地址,引用的地址访问无法在 IIS Express找到导致该错误 解决方法,找出前端的web.config 查看引用的项目是什么地址开头,如 localho ...
- 8051学习笔记——IIC与EEPROM实验
main.c #include <reg51.h> #include "iic.h" #define AT24C02 0xa0 //AT24C02 地址 sbit LS ...
- cordova ios --->OC 调用 js (一)
1.在HTML中定义一个函数如OCcallJS() function OCcallJS(){ alert("OC 调用js 的 方法"); } 2.当webview 加载完成的时候 ...
- 解决Linq第一次调用存储过程时速度慢的问题
最近做项目,发现linq调用存储过程,第一次时会速度慢,但之后速度都很快,过一阵子又会慢一下,以实际的操作为例子: using (FruitDbDataContext dbo = new FruitD ...