如何在Symfony2中检查哪个@route触发了Controller :: Action?

时间:2012-08-10 11:19:57

标签: php forms symfony routes

在Symfony2中,可以定义2个不同的@routes以获得相同的 Controller Action 吗?

问题是:如何检查该独特动作,用户来自哪条路径或路线?

示例:想象一下,我们有一个名为"createUserAction"的动作,可以从@routes /common_register/premium_register到达。

在动作中我想区分两种用户,使用不同的形式并根据用户输入的路径创建用户(或者通常,根据其使用的行为不同)。

我该怎么做?

2 个答案:

答案 0 :(得分:4)

在您的操作中,只需向方法

添加其他特殊路由参数$_route即可
public function createUserAction ($_route)
{
    ... //$_route will return the name of your route
}

答案 1 :(得分:1)

你考虑过另一种方法吗?只需使用带有参数的单个路径:

/**
 *@route ("/register/{type}", requirements={"type" = "common|premium"})
 **/

public function createUserAction ($type) {
    //use $type to decide what to do
}