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中simplexml_load_string函数使用说明
Jan 01 PHP
DEDE采集大师官方留后门的删除办法
Jan 08 PHP
php简单的会话类代码
Aug 08 PHP
解析thinkphp基本配置 convention.php
Jun 18 PHP
ThinkPHP页面跳转success与error方法概述
Jun 25 PHP
PHP版本如何选择?应该使用哪个版本?
May 13 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
Sep 30 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
Nov 14 PHP
php实现当前页面点击下载文件的实例代码
Nov 16 PHP
php使用crypt()函数进行加密
Jun 08 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 PHP
PHP 实现 WebSocket 协议原理与应用详解
Apr 22 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中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
php mysql索引问题
2008/06/07 PHP
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
wamp安装后自定义配置的方法
2014/08/23 PHP
使用php的HTTP请求的库Requests实现美女图片墙
2015/02/22 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
javascript之bind使用介绍
2011/10/09 Javascript
js给dropdownlist添加选项的小例子
2013/03/04 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
JS实现弹出居中的模式窗口示例
2016/06/20 Javascript
jQuery实现标签页效果实战(4)
2017/02/08 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
vue.js 实现点击按钮动态添加li的方法
2018/09/07 Javascript
详解Next.js页面渲染的优化方案
2019/01/27 Javascript
js实现查询商品案例
2020/07/22 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
详解Python中的静态方法与类成员方法
2017/02/28 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
python支付宝支付示例详解
2019/08/22 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
python推导式的使用方法实例
2021/02/28 Python
素质拓展感言
2014/01/29 职场文书
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
选秀节目策划方案
2014/06/06 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
优秀党员先进事迹材料
2014/12/18 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
Redis性能监控的实现
2021/07/09 Redis