Twig addFilter с использованием Silex?

Как правильно подключить пользовательский фильтр к 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')

... тогда все работает.

Как я могу заставить их играть хорошо? Т.е. сохранить кеш И добавить пользовательские фильтры?

Спасибо!

7
задан Lee Benson 29 February 2012 в 18:03
поделиться