5

假设在Symfony2.1中有一个控制器,它接收一个数值列表,例如

public function showAction($el1, $el2, $el3){...}

我假设第i$eli是一个数字 id。因此,我将在 Twig 模板中呈现该控制器,如下所示:

{% render 'AcmeBundle:BundleName:show' with {'el1':'1', 'el2':'5',  'el3':'7'}  %}

传递一个将它们全部分组的唯一值(如数组)会很好,例如

public function showAction($els){...}

其中$els是一个值数组。当然,我想这是不可能的,即使控制器是在 Twig 模板中呈现的。

我发现让输入更具动态性的唯一方法是传递一个唯一值,该值将所有 id-input 值分组并用令牌分隔它们。例如:

{% render AcmeBundle:BundleName:show with {'els': '1_5_7'} %}

这是最好的方法还是我可以做得更好?

4

1 回答 1

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]} %}

这样,您可以传入任意数量的参数。

于 2012-10-19T11:12:34.203 回答