0

賢い最適化についていくつか質問があります。

1) 私は smarty を使い始めたばかりで、Web サイトを作成したい場合、必要な構成は何ですか? の話を聞いた:

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

他に何か ?

2) 私はよく見ます :

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

2 番目のパラメーターは何ですか? それは同じことです:

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

2 番目のパラメータ $var は、キャッシュを最適化するためのもののようですね。

前もって感謝します

4

1 に答える 1

1

これらはすべてhttp://www.smarty.net/で文書化されています。ニーズを設定するには、次の方法について読むことをお勧めします。

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

とも興味深い可能性がloadFilter('output','trimwhitespace')ありescape_htmlます。display の 2 番目のパラメーターは、cache_id です。1 つのテンプレートまたはテンプレート スタックに対して複数のキャッシュを保存する場合に役立ちます。たとえば、ユーザー プロファイル ページを表示し、cache_id がユーザー固有の識別子 (ユーザー 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');
?>
于 2013-10-18T08:52:38.433 に答える