Qual è il modo giusto per collegare un filtro personalizzato per Ramoscello quando si utilizza Silex, ma mantenere l'esistente twig.options
intatto?Twig addFilter utilizzando Silex?
Ecco quello che voglio dire. Ho il seguente codice:
$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'));
Se corro che il codice così com'è, il filtro non funziona.
Invece, Ramoscello restituisce una versione infinitamente memorizzata nella cache del precedente richiesta (anche se posso cancellare il contenuto della cache - Sto indovinando questo è perché la cache viene memorizzato altrove dato che sto sovrascrivendo twig.options
... non è sicuro).
Tuttavia, se fosso la seguente riga:
'twig.options' => array('cache'=>'folder/twig')
... poi tutto funziona.
Come posso far giocare bene i due? tenere la cache E aggiungere filtri personalizzati?
Grazie!
funziona perfettamente, grazie! –
Può essere utile collegare alla documentazione per il ramoscello su questo argomento: http://twig.sensiolabs.org/doc/advanced.html#creating-an-extension – Ascherer