私はこれをグーグルで検索し、ドキュメントを理解しようとしたことを誓いますが、私はそれを理解していません. 小枝関数を書いていますが、関数内から render に渡された変数にアクセスする方法がわかりません。
したがって、拡張機能を登録して render を呼び出すと、次のようになります。
$o = new SomeObject();
$twig->addExtension(new MyExtension());
$twig->render('example.html',array('obj'=>$o))
そしてexample.htmlは{{ myfunc('foo') }}
、MyExtensionのmyfunc内から変数「obj」にアクセスするにはどうすればよいですか:
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?
}
}