Silexを使用するときにカスタムフィルターをTwigに接続し、既存のフィルターをtwig.options
そのまま維持する正しい方法は何ですか?
これが私の言いたいことです。私は次のコードを持っています:
$app->register(new Silex\Provider\TwigServiceProvider(), array(
'twig.path' => dirname(__FILE__).'/view',
'twig.class_path' => dirname(__FILE__).'/vendor/twig/lib',
'twig.options' => array('cache'=>'folder/twig')
));
function test() {
return 'yay';
}
$app['twig']->addFilter('test',new \Twig_Filter_Function('test'));
そのコードをそのまま実行すると、フィルターが機能しません。
代わりに、TwigはPREVIOUS REQUESTの無限にキャッシュされたバージョンを返します(キャッシュの内容をクリアした場合でも、これは、上書きしているためにキャッシュが別の場所に保存されているためだと思いますtwig.options
...わかりません)。
ただし、次の行を捨てると:
'twig.options' => array('cache'=>'folder/twig')
...その後、すべてが機能します。
どうすれば2つをうまくプレイさせることができますか?つまり、キャッシュを保持し、カスタムフィルターを追加しますか?
ありがとう!