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数组应该有多大的分析
Jul 30 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
Jul 22 PHP
深入PHP内存相关的功能特性详解
Jun 08 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
Sep 10 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
Nov 19 PHP
PHP代码维护,重构变困难的4种原因分析
Jan 25 PHP
详解PHP实现定时任务的五种方法
Jul 25 PHP
PHP自动补全表单的两种方法
Mar 06 PHP
Yii2框架中日志的使用方法分析
May 22 PHP
[原创]php token使用与验证示例【测试可用】
Aug 30 PHP
php如何利用pecl安装mongodb扩展详解
Jan 09 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
Jun 02 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中用数组的方法设置cookies
2011/04/21 PHP
模板引擎正则表达式调试小技巧
2011/07/20 PHP
PHP常用正则表达式集锦
2014/08/17 PHP
jquery获得下拉框值的代码
2011/08/13 Javascript
onkeydown事件解决按回车键直接提交数据的需求
2013/04/11 Javascript
JQuery对id中含有特殊字符的转义处理示例
2013/09/06 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
2014/04/12 Javascript
将form表单中的元素转换成对象的方法适用表单提交
2014/05/02 Javascript
javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等
2014/05/08 Javascript
angularjs中的单元测试实例
2014/12/06 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
2015/08/13 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
2016/01/04 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
javascript计算对象长度的方法
2017/10/25 Javascript
React Native基础入门之调试React Native应用的一小步
2018/07/02 Javascript
解决vue中post方式提交数据后台无法接收的问题
2018/08/11 Javascript
JS获取本地地址及天气的方法实例小结
2019/05/10 Javascript
jQuery位置选择器用法实例分析
2019/06/28 jQuery
Vue实现腾讯云点播视频上传功能的实现代码
2020/08/17 Javascript
在Python中封装GObject模块进行图形化程序编程的教程
2015/04/14 Python
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
全面理解Python中self的用法
2016/06/04 Python
Python标准库shutil用法实例详解
2018/08/13 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
python如何建立全零数组
2020/07/19 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
2020/11/30 Python
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
护士长竞聘书
2014/03/31 职场文书
我的梦想演讲稿1000字
2014/08/21 职场文书
法定代表人免职证明
2015/06/24 职场文书
2015年教师节新闻稿
2015/07/17 职场文书
2016年小学感恩节活动总结
2016/04/01 职场文书
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android
Java8 CompletableFuture 异步回调
2022/04/28 Java/Android