1

我已经创建了简单的控制器,设置了路由并且一切正常,直到我为第三个链接添加路由。然后我得到一个错误

无法从“C:/xampp/htdocs/Symfony/app/config\routing.yml”导入资源“C:\xampp\htdocs\Symfony\src\Acme\Bundle\WebBundle/Resources/config/routing.yml”。

DefaultController.php

<?php

namespace Acme\Bundle\WebBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;

class DefaultController extends Controller
{
public function indexAction()
{
    return $this->render('AcmeWebBundle:Default:index.html.twig');
}


//* find a ride *//

public function findAction()
{

    return $this->render('AcmeWebBundle:Default:find.html.twig');

}

//*book a ride *//

public function bookAction()
 {

    return $this->render('AcmeWebBundle:Default:book.html.twig');
  }
}

这是master.html.twig简单导航的一部分。

  ...
   <div id="left1"><a href="{{ path('acme_web_homepage') }}"><strong>Home</strong></a>
     </div>
     <div id="left2">
     </div>
     <div id="left3"><a href="{{ path('find') }}"><strong>Find a ride</strong></a>
     </div>
     <div id="left4">
     </div>
     <div id="left5"><a href="{{ path('book') }}"><strong>Book a ride</strong></a>
     </div>

routing.yml文件

acme_web_homepage:
    pattern:  /home
    defaults: { _controller: AcmeWebBundle:Default:index }

find:
    pattern: /find
    defaults: { _controller: AcmeWebBundle:Default:find }
book:
    pattern: /book
    defaults: { _controller: AcmeWebBundle:Default:book }

如果我删除书籍路径的路线,一切正常。我哪里错了?

4

4 回答 4

4

Yaml 基于缩进。book您必须使用一些空格缩进 的所有属性(我建议使用 4 个空格):

book:
    pattern: /book
    defaults: { _controller: AcmeWebBundle:Default:book }

文档中有关 Yaml 格式的更多信息。

于 2013-03-24T18:52:27.483 回答
2

yml 文件必须缩进 4 个空格。

book:
    pattern: /book
    defaults: { _controller: AcmeWebBundle:Default:book }
于 2013-03-24T18:53:02.333 回答
0

最后我找出问题所在:

按下标签按钮后,我留下了空间。无论这听起来多么奇怪,我都会用@Wouter建议的4个空格替换它,一切正常。

下次使用 yml 文件时忘记选项卡。

于 2013-03-28T17:57:23.217 回答
0

我在导入过程中注意到一些奇怪的 Symfony 行为。当在 config/services.yaml 文件中定义服务时,它们会正确加载,但是当我在 config/services/services.yaml 中配置它们时,(从 config/services.yaml 导入后)它们开始出现类似错误

无法自动装配服务“App\Command***\XyzCommand”:方法“__construct()”的参数“$env”是类型提示的“字符串”,您应该
明确配置其值。

于 2019-03-21T13:41:39.457 回答