使用Twig访问对象方法

mlw*_*mos 32 symfony twig

我有一个symfony控制器返回:

return $this->render('MyBundle:Default:index.html.twig', array('menu' => $menu));
Run Code Online (Sandbox Code Playgroud)

menu是一个Menu对象.

在我的模板中,我想从Menu类中调用一个方法:

getHTML(string s1, String s2, array tab) 
Run Code Online (Sandbox Code Playgroud)

返回一个HTML字符串.

我如何在模板中执行此操作?它甚至可能吗?

Eln*_*mov 52

是的,这是可能的:

{{ menu.getHTML('first-string', 'second-string', ['tab1', 'tab2']) }}
Run Code Online (Sandbox Code Playgroud)

由于Twig自动处理getter和issers,你可以省略该get部分:

{{ menu.HTML(...) }}
Run Code Online (Sandbox Code Playgroud)