thinkphp 替换入口
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 替换入口的更多相关文章
- legend2---开发日志3(thinkphp的入口目录是public的体现是什么)
legend2---开发日志3(thinkphp的入口目录是public的体现是什么) 一.总结 一句话总结:需要深刻理解程序的入口和入口位置都在public目录这里,比如读写文件的初始目录都在这,获 ...
- thinkphp3.1课程 1-2 thinkphp中入口文件的实质是什么
thinkphp3.1课程 1-2 thinkphp中入口文件的实质是什么 一.总结 一句话总结:在thinkphp中,我们访问的始终是入口文件,并没有主动去访问任何一个其他文件,只不过在入口文件体内 ...
- thinkphp单入口和多入口的访问方法
完全是参考thinkphp的官网资料 现在, 基本上都是 用 单入口 的方式来做的! thinkphp可创建多入口和单入口两种模式,本文主要讲解创建方法和两者的区别. TP版本:3.1.3 前端:Ho ...
- 【Thinkphp】入口文件和配置文件
一.入口文件 ThinkPHP采用单一入口模式进行项目部署和访问 入口文件代码 <?php define('APP_DEBUG',TRUE);//打开调试模式 在生产环境中应该关闭 define ...
- ThinkPHP在入口文件中判断是手机还是PC端访问网站
<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE ...
- ThinkPHP 中入口文件中的APP_DEBUG为TRUE时不报错,改为FALSE时报错
今天好不容易将一个新闻网做好了(ThinkPHP框架做的),但是,当我将入口文件中定义调试模式设为FALSE,即define('APP_DEBUG',False),然后再刷新网站的时候,就提示报错,报 ...
- Nginx下配置ThinkPhp多入口访问
比如在一个项目中有前台与后台两个模块,需要使用不同的入口文件.同时希望前台使用默认的index.php的入口. 关键的配置如下: if (!-e $request_filename) { ...
- thinkPHP替换SQL变量
使用tp里M()->where(pb_id=%d and course=%d and DATE_FORMAT(pub_time, \"%H:%i:%s\") < &qu ...
- ThinkPHP神秘应用架构扩展
ThinkPHP应用模式提供了机会,改变核心框架.它可以让你的应用程序,以适应环境和其他许多不同的需求. 每一个应用模式都有自己的模式定义文件,相对与ThinkPHP3.1版本号.ThinkPHP3. ...
随机推荐
- 最详细的 Android Toolbar 开发实践总结(转)
转自:http://www.codeceo.com/article/android-toolbar-develop.html 过年前发了一篇介绍 Translucent System Bar 特性的文 ...
- dubbo管理平台安装
dubbo-admin.war可在网上百度去下载,但是我下载了好几个,发布上去服务启动都报错,这个时候大概是我们系统的JDK和编译dubbo-admin.war的JDK版本不同导致的了,强烈建议自己下 ...
- javaWEB 之文件的上传
1.1 文件上传三要素 提供form表单,method必须是post form表单的enctype必须是multipart/form-data 提供 input type=“file” 类型输入 1. ...
- ECMAScript 6学习总结
学习ECMAScript 6 一.什么是ES6 ECMAScript6是ECMAScript的升级,实现用来编写复杂程序项目. 二.ECMAScript和JavaScript的关系 JavaScrip ...
- SpringDataRedis依赖
<dependencies> <dependency> <groupId>junit</groupId> ...
- 分布式项目web.xml配置文件的表头
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://w ...
- 简单了解malloc分配内存
直接看代码 #include <stdio.h> #include <malloc.h> int main() { * * ); printf("分配后请查看内存&q ...
- eclipse修改项目访问前缀
eclipse项目右击 properties---web project setting---context root修改项目访问前缀
- 网页压缩--gzip和deflate的区别
我们在配置网站GZip压缩的时候,会发现有两个模块可以设置的,一个是GZip模块的参数配置,另一个是Deflate模块的参数配置,他们的设置方法是一样的.刚开始时我不太明白,这两地方有什么不同?网站开 ...
- C++——异常
1.throw表达式 if (item1.isbn()!=item2.isbn()) throw runtime_error("data must refer to the same ISB ...