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+MySQL5.0中文乱码解决方法
Nov 20 PHP
php下判断数组中是否存在相同的值array_unique
Mar 25 PHP
常用的php ADODB使用方法集锦
Mar 25 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
Jul 03 PHP
apache php模块整合操作指南
Nov 16 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
Jun 24 PHP
php多用户读写文件冲突的解决办法
Nov 06 PHP
一个简洁实用的PHP缓存类完整实例
Jul 26 PHP
PHP文件上传判断file是否己选择上传文件的方法
Nov 10 PHP
浅谈PHP链表数据结构(单链表)
Jun 08 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
Oct 20 PHP
ThinkPHP框架表单验证操作方法
Jul 19 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 模拟POST|GET操作实现代码
2010/07/20 PHP
php实现微信扫码支付
2017/03/26 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
2020/12/30 PHP
js 手机号码合法性验证代码集合
2012/09/29 Javascript
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
微信公众平台开发教程(五)详解自定义菜单
2016/12/02 Javascript
vue2项目使用sass的示例代码
2017/06/28 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
2017/10/26 Javascript
webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)
2018/01/09 Javascript
React Native 图片查看组件的方法
2018/03/01 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
微信小程序 WXML节点信息查询详解
2019/07/29 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
CountUp.js数字滚动插件使用方法详解
2019/10/17 Javascript
python文件与目录操作实例详解
2016/02/22 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
Python爬虫实现爬取百度百科词条功能实例
2019/04/05 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
pycharm重命名文件的方法步骤
2019/07/29 Python
Python实现删除某列中含有空值的行的示例代码
2020/07/20 Python
Python程序慢的重要原因
2020/09/04 Python
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
web字体加载方案优化小结
2019/11/29 HTML / CSS
大学生村官工作感言
2014/01/10 职场文书
电大毕业生自我鉴定
2014/04/10 职场文书
消防安全责任书范本
2014/04/15 职场文书
空气的环保标语
2014/06/12 职场文书
学习十八大宣传标语
2014/10/09 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书
小学运动会通讯稿
2015/07/18 职场文书
MySQL中distinct和count(*)的使用方法比较
2021/05/26 MySQL
Django与数据库交互的实现
2021/06/03 Python