smarty是個什麼東東哦~~呵呵,曾經被面試官問過,有沒有用過smarty當時別說是用啦~我都不知道smarty是什麼意思回來上網查了下,這個東東很受追捧它是用PHP寫的模版,目的是分離程序員與頁面設計人員,也就是使邏輯內容與美工頁面設計分開,一方的改變不影響另一方。優點有:
1. 速度:采用smarty編寫的程序可以獲得最大速度的提高,這一點是相對於其它的模板引擎技術而言的。
2. 編譯型:采用smarty編寫的程序在運行時要編譯成一個非模板技術的PHP文件,這個文件采用了PHP與Html混合的方式,在下一次訪
問模板時將WEB請求直接轉換到這個文件中,而不再進行模板重新編譯(在源程序沒有改動的情況下)
3. 緩存技術:smarty選用的一種緩存技術,它可以將用戶最終看到的HTML文件緩存成一個靜態的Html頁,當設定smarty的cache屬性為
true時,在smarty設定的cachetime期內將用戶的WEB請求直接轉換到這個靜態的HTML文件中來,這相當於調用一個靜態的Html文件。
4. 插件技術:smarty可以自定義插件。插件實際就是一些自定義的函數。
5. 模板中可以使用if/elseif/else/endif。在模板文件使用判斷語句可以非常方便的對模板進行格式重排。
不適合使用smarty的地方:
1. 需要實時更新的內容。例如像股票顯示,它需要經常對數據進行更新,這類型的程序使用smarty會使模板處理速度變慢。
2. 小項目。小項目因為項目簡單而美工與程序員兼於一人的項目,使用smarty會喪失PHP開發迅速的優點。
smarty的安裝與配置:
(1)http://www.smarty.Net/下載smarty
(2)將壓縮包解壓到d:\smarty,這個目錄是自己設置的,可以放在任何地方。
(3)修改PHP.ini配置文件:找到include_path,將其設置成include_path=".;d:\smarty\libs";重啟apache or IIS
(4)在服務器目錄(apache配置文件裡documentRoot下的目錄)下建立兩個文件:root\smarty\templates和root\smarty\configs
(5)在smarty安裝目錄下建立兩個文件:d:\smarty\templates_c和d:\smarty\cache
下面是一個測試例子:
在服務器目錄下建立index.PHP文件,在root\smarty\templates下建立index.tpl文件:
index.PHP:
<?PHP// load Smarty library
require('Smarty.class.PHP');$smarty = new Smarty;$smarty->template_dir = 'd:/inetpub/root/smarty/templates';
$smarty->config_dir = ' d:/inetpub/root/smarty/configs';
$smarty->cache_dir = 'd:/smarty/cache';
$smarty->compile_dir = 'd:/smarty/templates_c';$smarty->assign('name','fish boy!');$smarty->display('index.tpl');
?>index.tpl
<Html>
<body>
Hello, {$name}!
</body>
</Html>
運行index.PHP文件若出現:Hello,fish body!則配置成功。