本文實(shí)例講述了thinkphp3.2中Lite文件替換框架入口文件或應(yīng)用入口文件的方法。分享給大家供大家參考。具體分析如下:
3.2版本支持根據(jù)當(dāng)前的運(yùn)行環(huán)境生成Lite文件,可以替換框架的入口文件或者應(yīng)用入口文件,提高運(yùn)行效率。
我們的建議是在生產(chǎn)環(huán)境中關(guān)閉調(diào)試模式后生成Lite文件。
注意,目前SAE平臺(tái)不支持直接生成Lite文件。
生成Lite文件
要生成Lite文件,需要在入口文件中增加常量定義:
define('BUILD_LITE_FILE',true);
默認(rèn)情況下,再次運(yùn)行后會(huì)在Runtime目錄下面生成一個(gè)lite.php文件。
如果你需要修改Lite文件的位置或者名稱,可以在應(yīng)用配置文件中增加配置如下:
'RUNTIME_LITE_FILE'=> APP_PATH.'lite.php'
配置后,生成的Lite文件的位置為 APP_PATH.'lite.php'。
Lite文件的編譯文件內(nèi)容是系統(tǒng)默認(rèn)的,如果希望改變或者增加其他的編譯文件的話,可以在外部定義編譯列表文件,例如: 我們?cè)趹?yīng)用配置目錄下面增加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文件中定義的文件都會(huì)納入Lite文件的編譯緩存中。你還可以對(duì)生成的lite文件進(jìn)行修改。
如果你修改了框架文件和應(yīng)用函數(shù)和配置文件的話,需要?jiǎng)h除Lite文件重新生成。
由于SAE等云平臺(tái)不支持文件寫入,因此不支持直接生成Lite文件。
替換入口
Lite文件可以用于替換框架入口文件或者應(yīng)用入口文件。
替換框架入口文件
Lite文件生成后,就可以把原來(lái)的應(yīng)用入口文件中的框架入口文件修改如下:
require './ThinkPHP/ThinkPHP.php';
改成:
require './Runtime/lite.php';
替換Lite文件后,應(yīng)用編譯緩存不再需要。
替換應(yīng)用入口文件
如果你的入口文件沒有其他代碼和邏輯的話,還可以直接把lite.php文件作為應(yīng)用的入口文件訪問(wèn)。 把lite.php 文件復(fù)制到應(yīng)用入口文件的相同目錄,并直接改名為index.php即可和原來(lái)一樣正常訪問(wèn)(原來(lái)的應(yīng)用入口文件可以備份以備用于重新生成Lite文件的時(shí)候使用)。
注意:如果你的環(huán)境或者目錄位置發(fā)生變化,以及更改了核心框架和應(yīng)用函數(shù)、配置等文件后,則需要重新生成Lite文件。
希望本文所述對(duì)大家的基于ThinkPHP框架的php程序設(shè)計(jì)有所幫助。