采用thinkphp自帶方法生成靜態(tài)html文件詳解

字號:


    thinkphp本身自帶了一個有效的生成靜態(tài)頁的方法,(該方法在tp2.0的手冊上有說明,3.0的手冊上沒有說明了,不過3.0方法還是存在的。)
    $this->buildhtml('靜態(tài)文件', '靜態(tài)路徑','模板文件');
    稍微說明下參數(shù),有些朋友問我這個參數(shù)和具體如何使用。
    參數(shù)一:靜態(tài)文件,是指生成后的靜態(tài)文件名,文件保存路徑完整的就是:靜態(tài)路徑/靜態(tài)文件。例如靜態(tài)文件設(shè)置a/index.那么保存的路徑就是項(xiàng)
    目路徑/html/a/index.html(默認(rèn)的靜態(tài)路徑在項(xiàng)目路徑的html文件夾下,沒有可以自己創(chuàng)建)
    參數(shù)二:靜態(tài)路徑,上面已經(jīng)說明了默認(rèn)的路徑,3.0中可以在入口文件里加入?yún)?shù)來更改靜態(tài)路徑。
    define('html_path', './');(將靜態(tài)路徑義為網(wǎng)站根目錄)
    參數(shù)三:模板文件,我感覺官方這個描述是不正確的,準(zhǔn)確的來說應(yīng)該是目標(biāo)模塊,就是需要生成靜態(tài)文件的模塊。格式:模塊名:操作。比如要生成index下的a方法為靜態(tài)文件,那就是index:a。如果為空則默認(rèn)生成當(dāng)前操作的靜態(tài)文件。
    例子:
    代碼如下:
        class indexaction extends action {
          public function index(){
          $this->buildhtml(index,'',);
          $this -> display();
          }
        }
    其實(shí)
    代碼如下:
    $this->buildhtml(index,'',);
    代碼如下:
    $this->buildhtml(index,'',index:index);
    代碼如下:
    $this->buildhtml(index,'',index);
    這樣三個格式是等效的
    可以在當(dāng)前模塊下加入語句,那么只要運(yùn)行該模塊就會產(chǎn)生指定的目錄下的模塊.html文件,通常的做法就是站點(diǎn)建設(shè)好以后,專門寫一個方法,然后讓其執(zhí)行,使整個站點(diǎn)一次性生成靜態(tài)文件,注意:如果站點(diǎn)有編輯或調(diào)整那么必須清理緩存一次,就是項(xiàng)目下的runtime文件夾必須清空。