// $twig is a Twig_Environment instance.
$twig->registerUndefinedFunctionCallback(function($name) {
if (function_exists($name)) {
return new Twig_SimpleFunction($name, function() use($name) {
return call_user_func_array($name, func_get_args());
});
}
throw new \RuntimeException(sprintf('Function %s not found', $name));
});
В шаблоне веточки:
{{ explode(",", "It's raining, cats and dogs.").0 | raw }}
это выдаст "Идет дождь".По умолчанию возвращаемые значения экранируются в Twig.
Twig_SimpleFunction является предпочтительным классом для использования.Все остальные связанные с функциями классы в Twig устарели с 1.12 (будет удалено в 2.0).
В контроллере Symfony2:
$twig = $this->get('twig');