3.2版本支持根据当前的运行环境生成Lite文件,可以替换框架的入口文件或者应用入口文件,提高运行效率。

我们的建议是在生产环境中关闭调试模式后生成Lite文件。
注意,目前SAE平台不支持直接生成Lite文件。

生成Lite文件

要生成Lite文件,需要在入口文件中增加常量定义:

  1. define('BUILD_LITE_FILE',true);

默认情况下,再次运行后会在Runtime目录下面生成一个lite.php文件。

如果你需要修改Lite文件的位置或者名称,可以在应用配置文件中增加配置如下:

  1. 'RUNTIME_LITE_FILE'=> APP_PATH.'lite.php'

配置后,生成的Lite文件的位置为 APP_PATH.'lite.php'

Lite文件的编译文件内容是系统默认的,如果希望改变或者增加其他的编译文件的话,可以在外部定义编译列表文件,例如: 我们在应用配置目录下面增加lite.php定义如下:

  1. return array(
  2. THINK_PATH.'Common/functions.php',
  3. COMMON_PATH.'Common/function.php',
  4. CORE_PATH . 'Think'.EXT,
  5. CORE_PATH . 'Hook'.EXT,
  6. CORE_PATH . 'App'.EXT,
  7. CORE_PATH . 'Dispatcher'.EXT,
  8. CORE_PATH . 'Model'.EXT,
  9. CORE_PATH . 'Log'.EXT,
  10. CORE_PATH . 'Log/Driver/File'.EXT,
  11. CORE_PATH . 'Route'.EXT,
  12. CORE_PATH . 'Controller'.EXT,
  13. CORE_PATH . 'View'.EXT,
  14. CORE_PATH . 'Storage'.EXT,
  15. CORE_PATH . 'Storage/Driver/File'.EXT,
  16. CORE_PATH . 'Exception'.EXT,
  17. BEHAVIOR_PATH . 'ParseTemplateBehavior'.EXT,
  18. BEHAVIOR_PATH . 'ContentReplaceBehavior'.EXT,
  19. );

所有在lite.php文件中定义的文件都会纳入Lite文件的编译缓存中。你还可以对生成的lite文件进行修改。

如果你修改了框架文件和应用函数和配置文件的话,需要删除Lite文件重新生成。

由于SAE等云平台不支持文件写入,因此不支持直接生成Lite文件。

替换入口

Lite文件可以用于替换框架入口文件或者应用入口文件。直线电机选型

替换框架入口文件

Lite文件生成后,就可以把原来的应用入口文件中的框架入口文件修改如下:

  1. require './ThinkPHP/ThinkPHP.php';
  2. // 改成
  3. require './Runtime/lite.php';

替换Lite文件后,应用编译缓存不再需要。

替换应用入口文件

如果你的入口文件没有其他代码和逻辑的话,还可以直接把lite.php文件作为应用的入口文件访问。 把lite.php 文件复制到应用入口文件的相同目录,并直接改名为index.php即可和原来一样正常访问(原来的应用入口文件可以备份以备用于重新生成Lite文件的时候使用)。

注意:如果你的环境或者目录位置发生变化,以及更改了核心框架和应用函数、配置等文件后,则需要重新生成Lite文件。

 

最新文章

  1. Python开发入门与实战20-微信开发配置
  2. linux查看是否被入侵
  3. Windows下关于Composer使用时出现的问题及解决办法
  4. WPF中的字体改善
  5. fastjson 之常见的数据类型与json的相互转换
  6. node中package.json全方面解析
  7. iOS 真机测试错误“The application bundle does not contain a valid identifier”
  8. 利用Windows性能计数器(PerformanceCounter)监控
  9. Centos7.x:开机启动服务的配置和管理
  10. Hibernate 缓存机制全面讲解
  11. 【数据结构】红黑树与跳表-(SortSet)-(TreeMap)-(TreeSet)
  12. Awesome-3d
  13. 磁盘异步I / O在Windows上显示为同步
  14. Linux定时器crontab的使用
  15. 数学集合:N Z Q R C
  16. .NET获取城市信息(将三字代码转换成城市名)
  17. Nutch源码阅读进程5
  18. alluxio网络流量异常分析【转】
  19. MySQL NDB集群安装配置(mysql cluster 9.4.13 installation)
  20. iOS - 组件化探究之私有库的创建

热门文章

  1. Sphinx + Read the docs theme
  2. vue 条件渲染v-if v-show
  3. PHP构建一句话木马
  4. hive之基本架构
  5. 【Redis】分布式锁RedLock
  6. Shiro学习(15)单点登录
  7. spring aop的前奏,动态代理 (5)
  8. asp.net core容器&mysql容器network互联 & docker compose方式编排启动多个容器
  9. $.ajax(),传参要用data
  10. JAVA StringUtils 坑汇总