關於smarty的功能--過濾器

過濾器能夠在模板進入smarty編譯模板前設置模板的內容,好比註釋,
這些可有可無的內容 咱們不須要它們,所以能夠在進入模板以前將其過濾php

前置過濾器

    registerFilter('pre','');html

<?php
 require  "./mySmarty.cla -->ss.php";
$smarty = new mySmarty();
//定義一個前置過濾器函數
function prevadd($tplName){
    $reg ="/<!--.*-->/";
    return preg_replace($reg,'',$tplName);
}
$smarty ->registerFilter("pre","prevadd");

後置過濾器

    registerFilter('post','');緩存

<?php
//定義一個後置過濾器
function poster($tplname){
        
        return "<---author:smarty zheng--->".$tplname;
}
$smarty ->registerFilter("post","poster");

輸出過濾器

    registerFilter('output','');
函數

<?php
//定義輸出過濾器
function outmessage($tplname){
        echo "13232<br/>";
        return str_replace("過濾器工具","tool",$tplname);
}
$smarty ->caching = 1;
$smarty ->registerFilter("output","outmessage");

$smarty ->assign('name','prvfileter');
$smarty->clearCompiledTemplate('filter.html');//清除編譯目錄下的編譯文件或者指定條件的編譯文件。
$smarty ->display("filter.html");

對於輸出過濾器來講,輸出過濾器在整個smarty的執行流程過程當中.是在編譯文件生成以後,因此輸出過濾器的內容不會出如今view_c編譯好的目錄文件中,可是若是caching=1 那麼輸出過濾器的內容會保存到cache目錄緩存目錄中去工具


利用smarty的過濾功能能夠爲模板作統一的設置,能夠將方法定義在父類控制器中。例如將全部的模板中的註釋去除掉.
post

相關文章
相關標籤/搜索