thinkphp本身自帶了一個有效的生成靜態頁的方法,(該方法在tp2.0的手冊上有說明,3.0的手冊上沒有說明了,不過3.0方法還是存在的。)
$this->buildHtml('静态文件', '静态路径','模板文件');
稍微說明下參數,有些朋友問我這個參數和具體如何使用。
參數一:靜態文件,是指產生後的靜態文件名,文件保存路徑完整的就是:靜態路徑/靜態文件。例如靜態檔案設定a/index.那麼儲存的路徑就是專案路徑/Html/a/index.html(預設的靜態路徑在專案路徑的Html資料夾下,沒有可以自己建立)
參數二:靜態路徑,上面已經說明了預設的路徑,3.0中可以在入口文件裡加入參數來更改靜態路徑。
相關推薦:《ThinkPHP教程》
define('HTML_PATH', './');(将静态路径定义为网站根目录)
參數三:模板文件,我感覺官方這個描述是不正確的,準確的來說應該是目標模組,就是需要產生靜態檔案的模組。格式:模組名:操作。例如要產生Index下的a方法為靜態文件,那就是Index:a。如果為空則預設產生目前操作的靜態檔案。
範例:
程式碼如下:
class IndexAction extends Action { public function index(){ $this->buildHtml("index",'',""); $this -> display(); } }
其實
#程式碼如下:
$this->buildHtml("index",'',"");
程式碼如下:
$this->buildHtml("index",'',"Index:index");
程式碼如下:
$this->buildHtml("index",'',"index");
這樣三個格式是等效的,可以在當前模組下加入語句,那麼只要運行該模組就會產生指定的目錄下的"模組.html"文件,通常的做法就是網站建置好以後,專門寫一個方法,然後讓其執行,使整個網站一次產生靜態檔案。
注意:如果網站有編輯或調整那麼必須清理快取一次,就是專案下的Runtime資料夾必須清空。
以上是thinkphp5如何產生靜態html文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!