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中目录,文件操作详谈
Mar 19 PHP
PHP 危险函数解释 分析
Apr 22 PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
Jun 27 PHP
PHP实现获取FLV文件的时间
Feb 10 PHP
php判断当前操作系统类型
Oct 28 PHP
PHP中strpos、strstr和stripos、stristr函数分析
Jun 11 PHP
PHP实现递归目录的5种方法
Oct 27 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
Aug 19 PHP
tp5(thinkPHP5)框架连接数据库的方法示例
Dec 24 PHP
PHP的PDO预处理语句与存储过程
Jan 27 PHP
使用PHP开发留言板功能
Nov 19 PHP
PHP设计模式概论【概念、分类、原则等】
May 01 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
?繁体转换的class
2006/10/09 PHP
用PHP生成html分页列表的代码
2007/03/18 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
php计算title标题相似比的方法
2015/07/29 PHP
php实现面包屑导航例子分享
2015/12/19 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
php实现推荐功能的简单实例
2019/09/29 PHP
javascript实现window.print()去除页眉页脚
2014/12/30 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
2015/04/26 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
2016/06/02 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
js禁止浏览器的回退事件
2017/04/20 Javascript
React中使用collections时key的重要性详解
2017/08/07 Javascript
webpack+vue2构建vue项目骨架的方法
2018/01/09 Javascript
JS实现显示当前日期的实例代码
2018/07/03 Javascript
详解webpack编译速度提升之DllPlugin
2019/02/05 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
Vue动态创建注册component的实例代码
2019/06/14 Javascript
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
Python基于贪心算法解决背包问题示例
2017/11/27 Python
浅谈Python中range和xrange的区别
2017/12/20 Python
Flask之flask-script模块使用
2018/07/26 Python
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
Oakley官网:运动太阳镜、雪镜和服装
2016/09/30 全球购物
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
夫妻分居协议书范本(有子女版)
2014/11/01 职场文书
幼师小班个人总结
2015/02/12 职场文书
赵氏孤儿观后感
2015/06/09 职场文书
Mysql中的触发器定义及语法介绍
2022/06/25 MySQL