Клянусь, я искал это и пытался понять документы, но я просто не понимаю. Я пишу функцию ветви, я не могу понять, как я могу получить доступ к переменным, переданным в визуализацию внутри функции.php twig get переменные переданы в визуализацию в функции расширения
Так что, если у меня есть это регистрирующий мое расширение и вызов визуализации:
$o = new SomeObject();
$twig->addExtension(new MyExtension());
$twig->render('example.html',array('obj'=>$o))
И example.html просто {{ myfunc('foo') }}
Как я могу получить доступ к переменной «Obj» изнутри MyFunc в MyExtension:
class MyExtension extends \Twig_Extension
{
public function getName()
{
return 'myextension';
}
public function getFunctions()
{
return array(
new \Twig_SimpleFunction('myfunc', 'MyExtension::myfunc', array('needs_environment' => true))
);
}
public static function myfunc(\Twig_Environment $env, $name)
{
//how to I get 'obj' from $twig->render in here?
}
}
Вы уверены, что это действительно необходимо сделать? Чаще всего просто передавать переменные, которые нужны функции при ее вызове. – Cerad