2013-10-18 39 views
0

我對smarty優化有一些疑問。Smarty和配置

1)我是新的使用smarty,我想知道,如果我想做一個網站,我需要什麼樣的配置?我聽說過:

$smarty->setTemplaceDir(..); 
$smarty->caching=1; 

還有什麼?

2)我經常看到:

$smarty->display("index.tpl", $var); 

什麼做第二次paramètre? 這是同樣的事情做:

$smarty->assign($var); 
$smarty->display("index.html"); 

看來第二PARAM $ var是一個最好的緩存優化,不是嗎?提前

回答

1

所有這一切都

由於在http://www.smarty.net/被記錄在案。要設置你的需求,我建議你閱讀下面的方法:

  • setCaching
  • setCacheLifetime
  • setTemplateDir
  • setCacheDir
  • setCompileDir
  • addPluginsDir

也有趣的可能是loadFilter('output','trimwhitespace')escape_html。顯示的第二個參數是cache_id。當您想要爲一個模板或模板堆棧存儲多個緩存時,它很有用。例如,如果顯示用戶配置文件頁面,並且將cache_id設置爲用戶唯一標識符(用戶標識或某物),則smarty將爲同一模板的每個用戶創建一個緩存文件。這也可以通過nocache節/修飾符來解決。在我的結論中,當腳本執行需要很長時間而沒有緩存時,最好使用cache_id。您也可以設置默認的cache_id。只需$smartyobject->cache_id = *somevalue*。當您與isCached結合使用時,這會很有幫助,因爲此方法也接受cache_id。

<?php 
$smarty = new Smarty; 

//setup directories here... 

$smarty->setCaching(Smarty::CACHING_LIFETIME_CURRENT); 
$smarty->setCacheLifetime(-1); 

$userid = $_GET['userid']; 
$smarty->cache_id = (string)$userid; 

if(!$smarty->isCached('profile.tpl')) 
    $smarty->assign('userData','some data'); 

$smarty->display('profile.tpl'); 
?> 
+0

謝謝你!:) – Choubidou