thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法


Posted in PHP onMay 21, 2015

本文实例讲述了thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法。分享给大家供大家参考。具体分析如下:

3.2版本支持根据当前的运行环境生成Lite文件,可以替换框架的入口文件或者应用入口文件,提高运行效率。

我们的建议是在生产环境中关闭调试模式后生成Lite文件。

注意,目前SAE平台不支持直接生成Lite文件。

生成Lite文件

要生成Lite文件,需要在入口文件中增加常量定义:

define('BUILD_LITE_FILE',true);

默认情况下,再次运行后会在Runtime目录下面生成一个lite.php文件。

如果你需要修改Lite文件的位置或者名称,可以在应用配置文件中增加配置如下:

'RUNTIME_LITE_FILE'=> APP_PATH.'lite.php'

配置后,生成的Lite文件的位置为 APP_PATH.'lite.php'。

Lite文件的编译文件内容是系统默认的,如果希望改变或者增加其他的编译文件的话,可以在外部定义编译列表文件,例如: 我们在应用配置目录下面增加lite.php定义如下:

return array(
  THINK_PATH.'Common/functions.php',
  COMMON_PATH.'Common/function.php',
  CORE_PATH . 'Think'.EXT,
  CORE_PATH . 'Hook'.EXT,
  CORE_PATH . 'App'.EXT,
  CORE_PATH . 'Dispatcher'.EXT,
  CORE_PATH . 'Model'.EXT,
  CORE_PATH . 'Log'.EXT,
  CORE_PATH . 'Log/Driver/File'.EXT,
  CORE_PATH . 'Route'.EXT,
  CORE_PATH . 'Controller'.EXT,
  CORE_PATH . 'View'.EXT,
  CORE_PATH . 'Storage'.EXT,
  CORE_PATH . 'Storage/Driver/File'.EXT,
  CORE_PATH . 'Exception'.EXT,
  BEHAVIOR_PATH . 'ParseTemplateBehavior'.EXT,
  BEHAVIOR_PATH . 'ContentReplaceBehavior'.EXT,
);

所有在lite.php文件中定义的文件都会纳入Lite文件的编译缓存中。你还可以对生成的lite文件进行修改。

如果你修改了框架文件和应用函数和配置文件的话,需要删除Lite文件重新生成。

由于SAE等云平台不支持文件写入,因此不支持直接生成Lite文件。

替换入口

Lite文件可以用于替换框架入口文件或者应用入口文件。

替换框架入口文件

Lite文件生成后,就可以把原来的应用入口文件中的框架入口文件修改如下:

require './ThinkPHP/ThinkPHP.php';

改成:
require './Runtime/lite.php';

替换Lite文件后,应用编译缓存不再需要。

替换应用入口文件

如果你的入口文件没有其他代码和逻辑的话,还可以直接把lite.php文件作为应用的入口文件访问。 把lite.php 文件复制到应用入口文件的相同目录,并直接改名为index.php即可和原来一样正常访问(原来的应用入口文件可以备份以备用于重新生成Lite文件的时候使用)。

注意:如果你的环境或者目录位置发生变化,以及更改了核心框架和应用函数、配置等文件后,则需要重新生成Lite文件。

希望本文所述对大家的基于ThinkPHP框架的php程序设计有所帮助。

PHP 相关文章推荐
第十二节 类的自动加载 [12]
Oct 09 PHP
在任意字符集下正常显示网页的方法一
Apr 01 PHP
PHP页面间传递参数实例代码
Jun 05 PHP
PHP中读写文件实现代码
Oct 20 PHP
PHP 获取远程文件大小的3种解决方法
Jul 11 PHP
php设置session值和cookies的学习示例
Mar 21 PHP
PHP比较运算符的详细介绍
Sep 29 PHP
深入浅析php中sprintf与printf函数的用法及区别
Jan 08 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
Jul 14 PHP
php中实现进程锁与多进程的方法
Sep 18 PHP
POST一个JSON格式的数据给Restful服务实例详解
Apr 07 PHP
php微信小程序解包过程实例详解
Mar 31 PHP
php通过exif_read_data函数获取图片的exif信息
May 21 #PHP
PHP图像处理类库MagickWand用法实例分析
May 21 #PHP
php使用标签替换的方式生成静态页面
May 21 #PHP
php eval函数一句话木马代码
May 21 #PHP
php结合正则批量抓取网页中邮箱地址
May 19 #PHP
php实现模拟登陆方正教务系统抓取课表
May 19 #PHP
PHP IDE phpstorm 常用快捷键
May 18 #PHP
You might like
PHP输出时间差函数代码
2013/01/28 PHP
php+jQuery.uploadify实现文件上传教程
2014/12/26 PHP
PHP实现微信发红包程序
2015/08/24 PHP
php结合md5实现的加密解密方法
2016/01/25 PHP
Laravel 实现添加多语言提示信息
2019/10/25 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
js计算页面刷新的次数
2009/07/20 Javascript
javascript 面向对象的JavaScript类
2010/05/04 Javascript
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
iframe 异步加载技术及性能分析
2011/07/19 Javascript
jQuery EasyUI API 中文文档 - ValidateBox验证框
2011/10/06 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
jquery实现div阴影效果示例代码
2013/09/16 Javascript
用jquery写的一个万年历(自写)
2014/01/20 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
java、javascript实现附件下载示例
2014/08/14 Javascript
浅析JavaScript 调试方法和技巧
2015/10/22 Javascript
jquery ztree异步搜索(搜叶子)实践
2016/02/25 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
jQuery简介_动力节点Java学院整理
2017/07/04 jQuery
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
vue车牌号校验和银行校验实战
2019/01/23 Javascript
JavaScript如何处理移动端拍摄图片旋转问题
2019/11/16 Javascript
Python实现多行注释的另类方法
2014/08/22 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
2018/06/26 Python
Pandas 按索引合并数据集的方法
2018/11/15 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
优秀交警事迹材料
2014/01/26 职场文书
生产部岗位职责范文
2014/02/07 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
初中成绩单评语
2014/12/29 职场文书
行政处罚事先告知书
2015/07/01 职场文书
神州牡丹园的导游词
2019/11/20 职场文书