繁体   English   中英

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

[英]How to check which @route triggered Controller::Action in Symfony2?

在Symfony2中,可以定义2个不同的@routes以获得一个相同的ControllerAction

问题是:您如何检查该唯一动作用户来自哪个路径或路线?

示例:假设我们有一个名为"createUserAction"的动作,可以通过@routes /common_register/premium_register

在操作内部,我想区分两种用户,使用不同的表单并根据他们输入的路径来创建用户(或者通常,根据用户的行为会有不同的行为)。

我怎么做?

在您的操作中,只需将其他特殊路由参数$_route到方法中

public function createUserAction ($_route)
{
    ... //$_route will return the name of your route
}

您是否考虑过另一种方法? 只需使用带有参数的一条路线即可:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM