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 heredoc和phpwind的模板技术使用方法小结
Mar 28 PHP
php include,include_once,require,require_once
Sep 05 PHP
网页游戏开发入门教程三(简单程序应用)
Nov 02 PHP
php中实现记住密码自动登录的代码
Mar 02 PHP
PHP中static关键字原理的学习研究分析
Jul 18 PHP
PHP 字符串长度判断效率更高的方法
Mar 02 PHP
ThinkPHP后台首页index使用frameset时的注意事项分析
Aug 22 PHP
php实现的验证码文件类实例
Jun 18 PHP
如何使用PHP对网站验证码进行破解
Sep 17 PHP
thinkPHP中_initialize方法实例分析
Dec 05 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
Yii Framework框架开发微信公众平台示例
Apr 26 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
Admin generator, filters and I18n
2011/10/06 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
2015/01/07 PHP
jQuery中filter(),not(),split()使用方法
2010/07/06 Javascript
js获取height和width的方法说明
2013/01/06 Javascript
网页整体变灰白色(兼容各浏览器)实例
2013/04/21 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
创建自己的jquery表格插件
2015/11/25 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
必备的JS调试技巧汇总
2016/07/20 Javascript
老生常谈jquery id选择器和class选择器的区别
2017/02/12 Javascript
详解ES6中的 Set Map 数据结构学习总结
2018/11/06 Javascript
vue-cli配置全局sass、less变量的方法
2019/06/06 Javascript
前后端常见的几种鉴权方式(小结)
2019/08/04 Javascript
Python中编写ORM框架的入门指引
2015/04/29 Python
python实现应用程序在右键菜单中添加打开方式功能
2017/01/09 Python
Python使用内置json模块解析json格式数据的方法
2017/07/20 Python
python中使用%与.format格式化文本方法解析
2017/12/27 Python
详解Python核心编程中的浅拷贝与深拷贝
2018/01/07 Python
python2.7到3.x迁移指南
2018/02/01 Python
Python模块文件结构代码详解
2018/02/03 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
2020/07/20 Python
使用canvas生成含有微信头像的邀请海报没有微信头像问题
2019/10/29 HTML / CSS
德国健康生活方式网上商店:Landkaufhaus Mayer
2019/03/12 全球购物
英国历史最悠久的DJ设备供应商:DJ Finance、DJ Warehouse、The DJ Shop
2019/09/04 全球购物
英国标志性生活方式品牌:Skinnydip London
2019/12/15 全球购物
物流管理专业应届生求职信
2013/11/21 职场文书
工程招投标邀请书
2014/01/30 职场文书
申报优秀教师材料
2014/12/16 职场文书
刑事附带民事起诉状
2015/05/19 职场文书
好段摘抄大全(48句)
2019/08/08 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
2021/04/05 MySQL
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js
win11开机发生死循环重启怎么办?win11开机发生死循环重启解决方法
2022/08/05 数码科技