无法导入资源Symfony错误

时间:2013-03-24 18:48:56

标签: php symfony

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

  

无法从“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 个答案:

答案 0 :(得分:4)

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

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

有关the documentation中的Yaml格式的更多信息。

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

最后我弄清楚问题是什么:

我按下标签按钮就离开了空间。无论多么奇怪,这听起来我用@Wouter建议的4个空格取而代之,一切正常。

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

答案 3 :(得分:0)

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

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