繁体   English   中英

获取到控制器symfony2的路线

[英]Get route to controller symfony2

我试图弄清楚是否有可能将路由(在routes.yml文件中定义)获取到特定控制器?

一个例子可能会有所帮助。

class SomeRandomController extends Controller {
    public function showAction($id) {
        //Get the entity and return with a Response object
    }
}

在routes.yml中...

some_random_show:
    pattern: /some/random/thing/{id}/show
    defaults: { _controller: "MyBundle:SomeRandom:show", id: 0 }

因此,我想的就是航线名称(如some_random_show )如果我有类名和它的命名空间(如MyBundle\\Controller\\SomeRandomController )。 有任何想法吗?

编辑假设我知道该动作,因为我特别想要控制器的show动作。

这样做的基本原理是有点骇人听闻的,但这归结于我将特定实体的类名和ID保存到数据库中,然后我需要根据持久化的实体类生成show URL。 如果那有意义的话。

我认为这行不通,主要是因为动作可以有多个路线。

但是,如果您要做的只是将特定的实体类映射到特定的路由名称,则应考虑为其编写服务,该服务将根据实体名称返回路由名称。

路由名称可以是通用的(例如,将您的实体名称转换为小写并用_替换\\),也可以在config.yml中手动定义哪个实体映射到哪个路由。

暂无
暂无

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

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