假设 Symfony2.1 中有一个控制器,它接收一个数值列表,例如
public function showAction($el1, $el2, $el3){...}
我认为 i -th $ eli 是一个数字ID。因此,我将在Twig模板中呈现该控制器,如下所示:
{% render 'AcmeBundle:BundleName:show' with {'el1':'1', 'el2':'5', 'el3':'7'} %}
传递一个将它们全部分组的唯一值(如数组)会很好,例如
public function showAction($els){...}
其中 $ els 是一个值数组。当然,我猜这是不可能的,即使控制器是在Twig模板内渲染的。
我发现让输入更加动态的唯一方法是传递一个唯一值,该值将所有id输入值分组并用标记分隔它们。 E.g:
{% render AcmeBundle:BundleName:show with {'els': '1_5_7'} %}
这是最好的方法还是我可以做得更好?
答案 0 :(得分:0)
为什么不传递一组参数?
<强>控制器:强>
public function showAction(array $els)
{
// ...
return ['els' => $els];
}
查看:强>
{% render 'AcmeBundle:Demo:show' with {'els': {'el1': 1, 'el2': 5, 'el3': 7}} %}
或者如果要传递数字索引数组:
{% render 'AcmeBundle:Demo:show' with {'els': [1, 5, 7]} %}
通过这种方式,您可以传入任意数量的参数。