Как правильно подключить пользовательский фильтр к Twig при использовании Silex, но сохранить существующий 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 возвращает бесконечно кэшированную версию ПРЕДЫДУЩЕГО ЗАПРОСА (даже если я очищаю содержимое кэша - я предполагаю, что это потому, что кэш хранится в другом месте, поскольку я перезаписываю twig.options
... не уверен).
Однако, если я откажусь от следующей строки:
'twig.options' => array('cache'=>'folder/twig')
... тогда все работает.
Как мне заставить этих двоих играть хорошо? сохранить кеш и добавить пользовательские фильтры?
Спасибо!