Symfony2:路由控制器和子目录中的视图

问题描述 投票:4回答:4

我正在开发一个带有前端和后端的捆绑包。 我遵循有关在此处此处构建后端和前端部件的控制器和视图的最佳方法的说明。 但我找不到如何在路由配置文件中指定子目录。 我试着把它,但它不起作用。

post:
  pattern:  /
  defaults: { _controller: "HavactBlogBundle:Backend/Post:Backend/index" }
symfony url-routing
4个回答
17
投票

试试这个:用反斜杠替换斜杠

post:
    pattern:  /
    defaults: { _controller: "HavactBlogBundle:Backend\Post:index" }

5
投票

对于那些不想将其控制器作为服务公开的人(这是问题的间接解决方案),您可以指定路由。

route_name: path: /path defaults: { _controller: BundleName:Namespace/Controller:action }

Namespace是bundle的Controller目录中的子目录,后跟/来分隔它。

其他一切都应该是一样的。


2
投票

我放心将我的控制器暴露为服务

post:
pattern:  /
defaults: { _controller: "my.controller.service.id:indexAction" }

0
投票

在路由YAML时:

defaults: { _controller: Org\FancyBundle\Controller\Page\Blog\CommentsController::fancyAction }

这里的区别是我不使用字符串周围的引号,YAML就可以了。 在Twig模板中:

{% render "Org\\FancyBundle\\Controller\\Page\\Blog\\CommentsController::listAction" with {} %}

逃避我所知道的,我从来没有遇到任何问题。 Windows / IIS上的Symfony 2.0.9,PHP 5.3.9(叹气)

© www.soinside.com 2019 - 2024. All rights reserved.