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 相关文章推荐
打造计数器DIY三步曲(上)
Oct 09 PHP
关于PHP5 Session生命周期介绍
Mar 02 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
Apr 05 PHP
php中Session的生成机制、回收机制和存储机制探究
Aug 19 PHP
php实现简易聊天室应用代码
Sep 23 PHP
php array_map使用自定义的函数处理数组中的每个值
Oct 26 PHP
php 自定义错误日志实例详解
Nov 12 PHP
ThinkPHP3.2框架使用addAll()批量插入数据的方法
Mar 16 PHP
PHP count()函数讲解
Feb 03 PHP
PHP实现唤起微信支付功能
Feb 18 PHP
laravel admin实现分类树/模型树的示例代码
Jun 10 PHP
php字符串倒叙
Apr 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
php格式化电话号码的方法
2015/04/24 PHP
PHP基于curl后台远程登录正方教务系统的方法
2016/10/14 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
Bootstrap+PHP实现多图上传功能实例详解
2018/04/08 PHP
掌握PHP垃圾回收机制详解
2019/03/13 PHP
使用JS操作页面表格,元素的一些技巧
2007/02/02 Javascript
jQuery表单域选择器用法分析
2015/02/10 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
Bootstrap CSS组件之按钮组(btn-group)
2016/12/17 Javascript
微信小程序 动态传参实例详解
2017/04/27 Javascript
JavaScript实现滑动导航栏效果
2017/08/30 Javascript
微信小程序 按钮滑动的实现方法
2017/09/27 Javascript
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
echarts统计x轴区间的数值实例代码详解
2019/07/07 Javascript
mock.js模拟前后台交互
2019/07/25 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
2020/03/06 Javascript
js实现简单进度条效果
2020/03/25 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
python中pass语句用法实例分析
2015/04/30 Python
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
基于python生成器封装的协程类
2019/03/20 Python
python标记语句块使用方法总结
2019/08/05 Python
Python字符编码转码之GBK,UTF8互转
2020/02/09 Python
如何在pycharm中安装第三方包
2020/10/27 Python
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
什么是唯一索引
2015/07/05 面试题
公司新年寄语
2014/04/04 职场文书
教师节宣传方案
2014/05/23 职场文书
测控技术自荐信
2014/06/05 职场文书
“四风”问题自我剖析材料思想汇报
2014/09/23 职场文书
为自由献出你的心脏!「进击的巨人展 FINAL」2022年6月在台开展
2022/04/13 日漫