thinkphp本身自帶了一個有效的生成靜態頁的方法,(該方法在tp2.0的手冊上有說明,3.0的手冊上沒有說明了,不過3.0方法還是存在的。)
$this->buildHtml('靜態文件', '靜態路徑','模板文件');
稍微說明下參數,有些朋友問我這個參數和具體如何使用。
參數一:靜態文件,是指生成後的靜態文件名,文件保存路徑完整的就是:靜態路徑/靜態文件。例如靜態文件設置a/index.那麼保存的路徑就是項
目路徑/Html/a/index.html(默認的靜態路徑在項目路徑的Html文件夾下,沒有可以自己創建)
參數二:靜態路徑,上面已經說明了默認的路徑,3.0中可以在入口文件裡加入參數來更改靜態路徑。
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文件夾必須清空。