Smarty キャッシュの問題について
include("main.inc.php");
$smarty->caching=true;
$smarty->cache_lifetime="60*60*123";
$id=$_GET['id'];
$mysqli=new mysqli("localhost","root","123456","test");
$query="select * from user where id=$id";
if(!$smarty->is_cached("demo2.tpl",$id))
{
echo "sfd";
$result=$mysqli- >query($query);
$arr=$result->fetch_assoc();
$smarty->assign("arr",$arr);
}
//display の 2 番目のパラメータを設定しない場合、明らかにキャッシュされたファイルのみが毎回読み取られることになり、これは私たちが望む結果ではありません
//$smarty->display("demo2.tpl " );
//複数ページのキャッシュを有効にする
$smarty->display("demo2.tpl",$id);
?>
エラーが報告される理由,,
致命的なエラー: D:serverApache2.2htdocssutraSmartysyspluginssmarty_internal_templatebase.php:755 のメッセージ「Call of missing method 'is_cached'」を含む例外「SmartyException」がキャッチされませんでしたスタック トレース: #0 [内部関数]: Smarty_Internal_TemplateBase->__call ('is_cached ', Array) #1 D:serverApache2.2htdocssutrasmartdemo2.php(8): Smarty->is_cached('demo2.tpl', '19') #2 D:serverApache2.2htdocssutraSmartyssyspluginssmarty_internal_templatebase.php で {main} がスローされました755 行目
-----解決策---------
Smarty のバージョン番号を確認してください
is_cached メソッドは Smarty 3 でのみ使用できます
Smarty 2 の場合は isCached