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

ThinkPHP 開發實戰技巧 11 條精華總結

     編輯:PHP 綜合知識

整理自實戰專案的 ThinkPHP 開發精華技巧,涵蓋架構設計、模板優化、路由偽靜態、效能調優等面向,助你寫出更優雅、可維護的程式碼。

技巧清單

  1. 公共基底類別:建立 CommonAction、CommonModel 封裝共用邏輯(權限、日誌、資料驗證),所有控制器/模型繼承之,避免重複代碼。
  2. 批量指派模板變數:$this->assign() 參數過多時,改用陣列一次指派:$this->assign(array('title'=>$title,'list'=>$list,'page'=>$page))。
  3. volist 支援函式/物件方法:模板中可直接呼叫函式或物件方法產生迴圈資料:
    <volist name=":fun('arg')" id="vo">{$vo.name}</volist>
  4. 模板模組化:使用 <include file="Public:header" /> 拆分頭部、導航、頁尾;被包含檔案需包含完整 HTML 結構(<head>、meta、CSS/JS 引入)。
  5. 前置操作 _before_方法名():在特定動作執行前自動執行邏輯(如編輯頁面預載資料),無需在每個動作重複呼叫。
  6. 動態取得當前控制器/動作名:$this->getActionName() 取得控制器名,ACTION_NAME 常數取得動作名,配合基底類別實現通用邏輯(如導航高亮、操作日誌)。
  7. 路由實現偽靜態:配置 URL_ROUTER_ON、URL_ROUTE_RULES 將動態 URL 轉為靜態化路徑(/article/123.html),利 SEO 且隱藏參數。
  8. 深入閱讀框架原始碼:ThinkPHP 核心類(ThinkPHP/Lib/Core/)可直接在專案中引用或覆寫;精簡不需的核心檔案可減少載入開銷。
  9. 第三方類庫放入專案目錄:置於 Lib/Vendor/ 或 Lib/ORG/,引入前加 @ 抑制警告(@vendor('ClassName')),便於版本管理與部署。
  10. 善用 Extend/Function/extend.php:框架內建大量工具函式(字串、陣列、日期、驗證等),於入口檔或基底類別 __construct 載入:require EXTEND_PATH . 'Function/extend.php';。
  11. 路由規則資料庫化:路由規則過多時,建立 route 資料表,啟動時動態載入,支援後台視覺化管理。

進階補充

  • 模板輸出過濾:開啟 TMPL_VAR_IDENTIFY、TMPL_STRIP_SPACE 優化編譯輸出。
  • SQL 除錯:APP_DEBUG=true 時,頁面底部顯示 SQL 日誌;生產環境關閉。
  • 快取策略:S()、F()、R() 搭配 Redis/Memcached,針對熱點資料(分類、配置、靜態頁)設定快取。

原文出處:尛雷博客

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