首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

ThinkPHP 模板替換常量與自訂替換規則完整指南

     編輯:PHP 綜合知識

ThinkPHP 模板引擎內建多種系統常量,自動替換為對應路徑,簡化模板開發。掌握這些常量與自訂替換規則,能讓模板更靈活、可攜。

預設模板替換常量

常量替換結果典型用途
__PUBLIC__/Public/網站公共資源 (CSS、JS、圖片)
__ROOT__網站根目錄 (不含域名)生成絕對路徑連結
__APP__當前專案入口 URL (如 /index.php)表單 action、AJAX 請求網址
__URL__當前模組 URL (如 /index.php/User)模組內部連結、表單提交
__ACTION__當前操作 URL (如 /index.php/User/index)當前頁面表單提交
__SELF__當前完整頁面 URL分享連結、返回當前頁
../Public/專案目錄/Tpl/default/Public/專案模板公共資源 (相對路徑)
__TMPL__/專案目錄/Tpl/default/模板目錄資源引用

自訂替換規則:TMPL_PARSE_STRING

在專案配置 Conf/config.php 設定:

'TMPL_PARSE_STRING' => [
    '__PUBLIC__' => '/Common',           // 修改預設公共目錄
    '__UPLOAD__' => '/Public/Uploads/',  // 新增上傳路徑常量
    '__STATIC__' => '/Static/',          // 新增靜態資源常量
],

實戰範例

Controller:UserAction.class.php

display(); }
    public function add() { dump($_POST); }
}
?>

模板:index.html


__ROOT__ 代表網站網址

__URL__ 代表當前模組 URL /index.php/User

../Public 代表 /aoli/Tpl/default/Public

__PUBLIC__ 代表項目公共文件目錄 /Public

__TMPL__ 代表當前項目模板目錄 /aoli/Tpl/default/

__APP__ 代表當前項目入口 /index.php

__ACTION__ 代表當前操作 /index.php/User/index

__SELF__ 代表當前 URL /index.php/User/

__UPLOAD__ (自訂常量)

訪問流程

  1. 瀏覽 https://localhost/index.php/User/index → 渲染模板,常量自動替換。
  2. 表單提交至 __URL__/add → 實際 POST 到 /index.php/User/add。
  3. UserAction::add() 接收處理,dump($_POST) 輸出結果。

最佳實踐建議

  • **優先使用常量** 寫路徑,避免硬編碼導致部署環境 (子目錄、虛擬主機) 失效。
  • **資源分離**:__PUBLIC__ 放共用庫,__UPLOAD__ 放用戶上傳,__STATIC__ 放版本化靜態資源。
  • **CDN 遷移**:上線前只需修改 TMPL_PARSE_STRING 將常量指向 CDN 域名,模板零修改。

善用模板常量與自訂替換,是 ThinkPHP 專案可維護性、可擴展性的關鍵基礎設施。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved