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获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Oct 11 PHP
simplehtmldom Doc api帮助文档
Mar 26 PHP
解析php 版获取重定向后的地址(代码)
Jun 26 PHP
两级联动select刷新后其值保持不变的实现方法
Jan 27 PHP
php-fpm配置详解
Feb 12 PHP
smarty获得当前url的方法分享
Feb 14 PHP
PHP多文件上传类实例
Mar 07 PHP
php编写批量生成不重复的卡号密码代码
May 14 PHP
CI(CodeIgniter)模型用法实例分析
Jan 20 PHP
php+ajax无刷新上传图片的实现方法
Dec 06 PHP
PHP+AJAX 投票器功能
Nov 11 PHP
laravel框架 laravel-admin上传图片到oss的方法
Oct 13 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框架的性能
2008/01/10 PHP
适用于php-5.2 的 php.ini 中文版[金步国翻译]
2011/04/17 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
php微信公众号开发之微信企业付款给个人
2018/10/04 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
基于jquery的inputlimiter 实现字数限制功能
2010/05/30 Javascript
浏览器兼容console对象的简要解决方案分享
2013/10/24 Javascript
关于onchange事件在IE和FF下的表现及解决方法
2014/03/08 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
2015/12/30 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
深入浅析knockout源码分析之订阅
2016/07/12 Javascript
Bootstrap中data-target 到底是什么
2017/02/14 Javascript
nodejs入门教程二:创建一个简单应用示例
2017/04/24 NodeJs
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
js闭包学习心得总结
2018/04/17 Javascript
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
Python中的生成器和yield详细介绍
2015/01/09 Python
Python格式化css文件的方法
2015/03/10 Python
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
Python中在for循环中嵌套使用if和else语句的技巧
2016/06/20 Python
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
思想品德课教学反思
2014/02/10 职场文书
小班下学期评语
2014/05/04 职场文书
食品委托检验协议书范本
2014/09/12 职场文书
2014年实习生工作总结
2014/11/27 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
放假通知范文
2015/04/14 职场文书
受欢迎的自荐信,就这么写!
2019/04/19 职场文书
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS
python中pymysql包操作数据库方法
2022/04/19 Python