ThinkPHP 系統常量與模板替換

2021-08-08 06:56:05 字數 3816 閱讀 5685

一、系統常量

thinkphp為我們準備好的一些常量,在這些常量中已經封裝好了相應的功能

系統常量主要用在模組的動作中,以提高開發效率

注意,系統常量沒必要全記下來,但是一定得知道有這些東西,需要用到的時候可以很方便的查手冊

但是在學習的時候,最好動手敲一遍,輸出看看,熟悉熟悉

**如下,可以複製過去自己測試一下

1          echo __root__."

";//

**根目錄,即apache的htdocs目錄/虛擬主機下的當前專案(project)目錄23

echo __url__."

";//

當前模組位址

4echo __action__."

";//

當前動作位址

5echo __self__."

";//

當前rul位址,即此時瀏覽器位址列中顯式的url位址!所謂顯式就是瀏覽器位址列是啥這個常量就是啥,比如說訪問index模組的index動作,模組名和動作名都是可以省略的,當然也是可以帶上的,那麼顯然這兩種情況中瀏覽器位址列中的url位址就不一樣了,那麼該常量也就是不一樣咯!

6echo __current__."

";//

當前模組對應的模板目錄

7echo action_name."

";//

當前動作名稱

8當前應用目錄,注意,是相對於單入口檔案的

9當前應用名稱

10當前應用模板目錄,即**目錄

11當前應用公共檔案目錄,注意這個輸出是當前應用模板(**)目錄下的public目錄

12echo cache_path."

";//

當前應用快取目錄,即./應用名/runtime/cache/,就是編譯後模板目錄

13echo config_path."

";//

當前應用配置檔案目錄

14echo common_path."

";//

15echo data_path."

";//

當前應用資料檔案目錄,即./應用名/runtime/data/。存放的是與資料庫表結構相關的資料檔案,因為thinkphp會自動快取表相關的結構資訊

16echo group_name."

";//

當前分組名稱

17echo html_path."

";//

當前應用靜態檔案目錄,編譯後模板執行之後生成的靜態檔案目錄,./應用名/html/

18echo lang_set."

";//

瀏覽器語言

19echo lib_path."

";//

當前應用類庫目錄,即./應用名/lib/

20echo log_path."

";//

當前應用日誌目錄,即./應用名/runtime/logs/

21echo lang_path."

";//

當前應用語言包目錄,即./應用名/lang/

22echo module_name."

";//

當前模組名稱

23echo memory_limit_on."

";//

是否開啟記憶體使用限制

24echo magic_quotes_gpc."

";//

是否開啟魔術轉義

25echo temp_path."

";//

當前應用臨時檔案目錄,即./應用名/runtime/temp/

26echo tmpl_path."

";//

27echo think_path."

";//

系統目錄

28echo think_version."

";//

系統版本

29echo template_name."

";//

當前應用所用的**名稱,即default

30echo template_path."

";//

31echo vendor_path."

";//

第三方類庫目錄,即./thinkphp/vendor/

32echo web_public_path."

";//

二、模板替換

所謂模板替換,就是對已經編譯過但是還未正式輸出的模板中的一些模板特殊字串進行替換,相當於smarty模板的後過濾器!

1、模板替換規則

·預設替換規則

../public     /專案名/應用名/tpl/default/public  該特殊字元通常後面接的是js或css或images目錄,顯然是用於獲取js、css、image的

__url__     /專案名/入口檔案/模組名      該特殊字元通常後面接乙個動作名,用於模板中(模組內)的跳轉,比如說表單提交、超連結等等

__public__     /專案名/public              該特殊字元通常後面接的是js或css或images目錄,顯然是用於獲取js、css、image的

__tpml__     /專案名/應用名/tpl/default

)的跳轉

__action__   /專案名/入口檔案/模組名/動作名   該特殊字元就表示當前訪問的動作的url

__self__   /專案名/入口檔案/...          該特殊字元表示瀏覽器位址列中的完整url

·自定義替換規則

thinkphp支援自定義模板替換規則,但是必須在應用配置檔案中進行配置。注意,這些模板替換的特殊字元是嚴格區分大小寫的!配置如下

從以上配置中可以看出,不僅可以增加新的替換規則,還支援修改預設替換規則

2、在mvc模式的系統中,乙個值得注意的問題

一切跳轉必須經過控制器(訪問模組執行動作),絕不可直接訪問(跳轉到)模板!因為如果直接訪問模板,模板中的模板標記是不會被解析的!

舉個例子如下

ThinkPHP系統常量

root 當前專案 入口檔案 位址 url 當前模組位址 action 當前操作位址 self 當前url 位址 current 當前模組的模板目錄 action name 當前操作名稱 當前專案目錄 當前專案名稱 專案模板目錄 專案公共檔案目錄 cache path 專案模版快取目錄 config...

Thinkphp系統常量詳細演示

root 根目錄位址 url 當前模組位址 action 當前操作位址 self 當前 url 位址 current 當前模組的模板目錄 action name 當前操作名稱 cache path 專案模版快取目錄 config path 專案配置檔案目錄 common path 專案公共檔案目錄 ...

thinkphp中常用的系統常量和系統變數

模板中使用的系統變數和常量 1 系統變數 在模板中輸出系統變數 包括server env session post get request cookie 輸出 server變數 輸出 session變數 輸出 get變數 輸出 cookie變數 以上方式還可以寫成 輸出 server變數 輸出 se...