您好,登錄后才能下訂單哦!
如何在Thinkphp中實現站點靜態化?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
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文件夾必須清空
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。