无法导入资源Symfony错误


Cannot import resource Symfony error

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

无法导入资源"C:'xampp'htdocs'Symfony'src'Acme'Bundle'WebBundle/Resources/config/routing "。"C:/xampp/htdocs/Symfony/app/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 }

如果我删除图书路径的路由,一切都可以正常工作。我哪里错了?

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

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

有关Yaml格式的更多信息,请参阅文档

yml文件必须缩进4个空格

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

我终于知道问题出在哪里了:

我按tab键留下了空格。不管这听起来有多奇怪,我用@Wouter建议的4个空格代替,一切都很好。

下次在处理yml文件时忘记制表符

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

无法自动配置服务"App'Command***'XyzCommand":方法"__construct()"的参数"$env"是类型提示的"string",你应该配置它的
显式值。