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 相关文章推荐
PHP4引用文件语句的对比
Oct 09 PHP
php基础知识:类与对象(1)
Dec 13 PHP
PHP获取POST数据的几种方法汇总
Mar 03 PHP
php生成验证码函数
Oct 20 PHP
Laravel日志用法详解
Oct 09 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
PHP 实现公历日期与农历日期的互转换
Sep 13 PHP
safari下载文件自动加了html后缀问题
Nov 09 PHP
PHP支付宝当面付2.0代码
Dec 21 PHP
PHP连续签到功能实现方法详解
Dec 04 PHP
Laravel 5+ .env环境配置文件详解
Apr 06 PHP
TP5多入口设置实例讲解
Dec 15 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
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
2016/04/04 PHP
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
表单元素与非表单元素刷新区别详细解析
2013/11/06 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
JQuery实现展开关闭层的方法
2015/02/17 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
2016/03/05 Javascript
把普通对象转换成json格式的对象的简单实例
2016/07/04 Javascript
巧用canvas
2017/01/21 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
ElementUI多个子组件表单的校验管理实现
2019/11/07 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
2019/11/12 Javascript
[57:37]EG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python 面向对象 成员的访问约束
2008/12/23 Python
Python批量修改文本文件内容的方法
2016/04/29 Python
python实现跨excel的工作表sheet之间的复制方法
2018/05/03 Python
django将图片上传数据库后在前端显式的方法
2018/05/25 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
详解python单元测试框架unittest
2018/07/02 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
2019/07/11 Python
Python Gitlab Api 使用方法
2019/08/28 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
高中打架检讨书
2014/02/13 职场文书
我的画教学反思
2014/04/28 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
生物工程专业求职信
2014/09/03 职场文书
2015年元旦标语大全
2014/12/09 职场文书
党支部承诺书
2015/01/20 职场文书
总经理司机岗位职责
2015/04/10 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书
基于Python编写一个监控CPU的应用系统
2022/06/25 Python