我發誓我已經使用了這個並試圖理解文檔,但我只是沒有得到它。我正在寫一個樹枝函數,我不明白的是我如何訪問從函數內部傳遞給render的變量。php twig獲取變量傳遞給擴展函數中的渲染
所以,如果我有這個註冊我的分機和調用render:
$o = new SomeObject();
$twig->addExtension(new MyExtension());
$twig->render('example.html',array('obj'=>$o))
而且example.html的只是{{ myfunc('foo') }}
我如何訪問變量MyExtension 'OBJ' 從內MYFUNC:
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