如何在Symfony 2.8中设置主页路由

时间:2016-11-04 07:59:25

标签: php symfony routing

我很难学习bundle

我创建了一个名为BlogBudle的{​​{1}},我在其中创建了一个名为controller的{​​{1}}。

我的目标是: 创建HomeController /test并将其分配给URL

以下是我的代码:

/var/www/symfony/app/config/routing.yml

home page url

/var/www/symfony/src/BlogBu​​ndle/Controller/HomeController.php

blog:
resource: "@BlogBundle/Controller/"
type:     annotation
prefix:   /

app:
resource: "@AppBundle/Controller/"
type:     annotation

当我运行namespace BlogBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; class HomeController extends Controller { /** * @Route("/test") */ public function indexAction() { return $this->render('BlogBundle:Default:index.html.twig'); } } 时,会显示

  

名称方法方案主机路径

     

blog_home_index任何任何/测试

问题: 如果我访问php app/console debug:router,则会显示http://www.example.com/test错误。

以下是我的VH配置:

404

2 个答案:

答案 0 :(得分:2)

需要在 app / config / routing.yml 中覆盖您的捆绑路由,例如:

user_test:
    resource: "@BlogBundle/Resources/config/routing.yml"
    prefix:   /

以下是重定向到主页的路线

BlogBu​​ndle /资源/配置/ routing.yml中

any_unique_route_name:
    pattern:  /test
    defaults: { _controller: BlogBundle:Home:index }

确保这对您有所帮助。

答案 1 :(得分:0)

以下是一个例子:

routing.yml

my_route_name:
    path:      /test
    defaults:
        _controller: NamespaceBlogBundle:Home:index

此外,如果您的控制器被调用HomeController渲染应该像这样

public function indexAction()
  {
      return $this->render('NamespaceBlogBundle:Home:index.html.twig');
   }

Symfony routing doc