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 相关文章推荐
php include,include_once,require,require_once
Sep 05 PHP
Mysql数据库操作类( 1127版,提供源码下载 )
Dec 02 PHP
调整PHP的性能
Oct 30 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
Apr 23 PHP
PHP5.5和之前的版本empty函数的不同之处
Jun 13 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
php生成excel列名超过26列大于Z时的解决方法
Dec 29 PHP
php两种无限分类方法实例
Apr 21 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
thinkphp5引入公共部分header、footer的方法详解
Sep 14 PHP
php二维数组按某个键值排序的实例讲解
Feb 15 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 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 应用程序的安全 -- 不能违反的四条安全规则
2006/11/26 PHP
PHP使用fopen与file_get_contents读取文件实例分享
2016/03/04 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
thinkphp实现附件上传功能
2017/05/26 PHP
jQuery 获取对象 基本选择与层级
2010/05/31 Javascript
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
JavaScript实现的斑马线表格效果【隔行变色】
2017/09/18 Javascript
vue-cli脚手架build目录下utils.js工具配置文件详解
2018/09/14 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
Js实现粘贴上传图片的原理及示例
2020/12/09 Javascript
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
[51:15]完美世界DOTA2联赛PWL S2 PXG vs Magma 第一场 11.21
2020/11/24 DOTA
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
Django利用cookie保存用户登录信息的简单实现方法
2019/05/27 Python
基于django 的orm中非主键自增的实现方式
2020/05/18 Python
Python操作Excel把数据分给sheet
2020/05/20 Python
html5中为audio标签增加停止按钮动作实现方法
2013/01/04 HTML / CSS
基于html5 canvas做批改作业的小插件
2020/05/20 HTML / CSS
Mio Skincare英国官网:身体紧致及孕期身体护理
2018/08/19 全球购物
SQL面试题
2013/12/09 面试题
大学辅导员事迹材料
2014/02/05 职场文书
体育专业自荐书
2014/05/29 职场文书
英语自我介绍演讲稿
2014/09/01 职场文书
解除劳动关系协议书范文
2014/09/11 职场文书
售后客服个人自我评价
2014/09/14 职场文书
2014年置业顾问工作总结
2014/11/17 职场文书
环境卫生标语
2015/08/03 职场文书
世界十大动漫制作公司排行榜,迪士尼上榜,第二是美国代表性文化符
2022/03/18 欧美动漫
Mysql中mvcc各场景理解应用
2022/08/05 MySQL