您好,登錄后才能下訂單哦!
本篇內容介紹了“如何實現Thinkphp 框架擴展之應用模式”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
應用模式是你的生活環境 開發環境 執行環境 ,就好比一個框架的應用場景(模式),是指這個框架在哪個平臺上運行,
thinkphp中SAE、普通、API三種模式,
普通是指用于普通WEB開發和運行方式,
API是指用作API請求服務端,大多為別的客戶端進行服務,供遠程調用
SAE是指在新浪的SAE平臺上用的
不同的模式下配置都是不一樣的
應用模式提供了對核心框架進行改造的機會,可以讓你的應用適應更多的環境和不同的要求。
每個應用模式有自己的模式定義文件,用于配置當前模式需要加載的核心文件和配置文件,以及別名定義、行為擴展定義等等。根據模式定義文件的定義位置和入口是否需要定義模式,可以分為顯式應用模式和隱含應用模式。
顯式應用模式的模式定義文件位于ThinkPHP\Mode
目錄,如果我們要增加一個應用模式,只需要在該目錄下面定義一個模式定義文件即可,下面是一個典型的模式定義文件(lite.php):
return array( // 配置文件 'config' => array( THINK_PATH.'Conf/convention.php', // 系統慣例配置 CONF_PATH.'config.php', // 應用公共配置 ), // 別名定義 'alias' => array( 'Think\Exception' => CORE_PATH . 'Exception'.EXT, 'Think\Model' => CORE_PATH . 'Model'.EXT, 'Think\Db' => CORE_PATH . 'Db'.EXT, 'Think\Cache' => CORE_PATH . 'Cache'.EXT, 'Think\Cache\Driver\File' => CORE_PATH . 'Cache/Driver/File'.EXT, 'Think\Storage' => CORE_PATH . 'Storage'.EXT, ), // 函數和類文件 'core' => array( MODE_PATH.'Lite/functions.php', COMMON_PATH.'Common/function.php', MODE_PATH . 'Lite/App'.EXT, MODE_PATH . 'Lite/Dispatcher'.EXT, MODE_PATH . 'Lite/Controller'.EXT, MODE_PATH . 'Lite/View'.EXT, CORE_PATH . 'Behavior'.EXT, ), // 行為擴展定義 'tags' => array( 'view_parse' => array( 'Behavior\ParseTemplate', // 模板解析 支持PHP、內置模板引擎和第三方模板引擎 ), 'template_filter'=> array( 'Behavior\ContentReplace', // 模板輸出替換 ), ), );
我們在ThinkPHP/Mode/Lite
目錄下面創建functions.php函數庫文件,以及App.class.php、Dispatcher.class.php、Controller.class.php和View.class.php,這些類都是針對我們新的應用模式定制的核心類,但是和標準模式的命名空間是一致的,也就是說都在Think命名空間下面。
ThinkPHP/Mode/Lite目錄用于存放該應用模式下面的所有自定義文件。
應用模式定義文件定義好后,我們就可以在應用中使用該模式了,例如:
define('MODE_NAME','lite'); define('APP_PATH','./Application/'); require './ThinkPHP/ThinkPHP.php';
隱含應用模式的模式定義文件位于應用的配置目錄下面 Application/Common/Conf/core.php,模式定義文件和顯式應用模式的定義文件一樣。 使用隱含應用模式的時候,不需要在入口文件中定義MODE_NAME,或者說存在隱含應用模式定義文件的時候,MODE_NAME定義無效。
注意:如果應用中定義的應用模式需要使用其他的存儲類型,需要在入口文件中定義。
define('STORAGE_TYPE','Bae');
“如何實現Thinkphp 框架擴展之應用模式”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。