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 相关文章推荐
删除无限级目录与文件代码共享
Jul 12 PHP
MYSQL 小技巧 -- LAST_INSERT_ID
Nov 24 PHP
php设计模式 Template (模板模式)
Jun 26 PHP
在项目中寻找代码的坏命名
Jul 14 PHP
gd库图片下载类实现下载网页所有图片的php代码
Aug 20 PHP
微信公众平台开发关注及取消关注事件的方法
Dec 23 PHP
PHP里的单例类写法实例
Jun 25 PHP
PHP版QQ互联OAuth示例代码分享
Jul 05 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
Feb 27 PHP
thinkPHP模板中for循环与switch语句用法示例
Nov 30 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
Dec 15 PHP
laravel邮件发送的实现代码示例
Jan 31 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
mysql,mysqli,PDO的各自不同介绍
2012/09/19 PHP
使用php计算排列组合的方法
2013/11/13 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
2014/07/01 PHP
PHP实现Soap通讯的方法
2014/11/03 PHP
浅析php创建者模式
2014/11/25 PHP
PHP和C#可共用的可逆加密算法详解
2015/10/26 PHP
让你的PHP,APACHE,NGINX支持大文件上传
2021/03/09 PHP
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
解析JavaScript模仿块级作用域
2016/12/29 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
JS中使用media实现响应式布局
2017/08/04 Javascript
JS中数组与对象的遍历方法实例小结
2018/08/14 Javascript
解决vue 绑定对象内点击事件失效问题
2018/09/05 Javascript
python3实现ftp服务功能(客户端)
2017/03/24 Python
django将图片上传数据库后在前端显式的方法
2018/05/25 Python
Django配置celery(非djcelery)执行异步任务和定时任务
2018/07/16 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
Python数据预处理之数据规范化(归一化)示例
2019/01/08 Python
用pycharm开发django项目示例代码
2019/06/13 Python
在交互式环境中执行Python程序过程详解
2019/07/12 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
Tensorflow: 从checkpoint文件中读取tensor方式
2020/02/10 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
Python基于time模块表示时间常用方法
2020/06/18 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
python各种excel写入方式的速度对比
2020/11/10 Python
Zalando Lounge瑞士:时尚与生活方式购物俱乐部
2020/03/12 全球购物
别名指示符是什么
2012/10/08 面试题
军校制空专业毕业生自我鉴定
2013/11/16 职场文书
单位消防安全制度
2014/01/12 职场文书
安全生产大检查方案
2014/05/07 职场文书
投资意向协议书
2015/01/29 职场文书
Apache Pulsar集群搭建部署详细过程
2022/02/12 Servers
Android studio 简单计算器的编写
2022/05/20 Java/Android