YAML文件不能包含缩进作为缩进

时间:2013-11-14 11:01:52

标签: php symfony routing routes

这是我第一次使用Symfony 2.我在这里尝试的只是当用户点击提交按钮时,他将转到另一页。

但是我的索引页面没有加载。他们说我的路由文件有问题,特别是:

  

YAML文件不能包含缩进标签

我不知道我做错了什么。这是我的路由文件。

community_online_shop_homepage:
    pattern: /
    defaults: { _controller: CommunityOnlineShopBundle:Page:index }
_login:
    pattern: /login
    defaults: { _controller: CommunityOnlineShopBundle:Page:login}

4 个答案:

答案 0 :(得分:41)

YAML文件使用空格作为缩进,您可以使用2或4个空格进行缩进,但无标签。换句话说,禁止使用制表符缩进:

  

为什么YAML会禁止标签?

     

标签已被取缔,因为不同的编辑和工具会对它们进行不同的处理。由于缩进对YAML的正确解释至关重要,因此这个问题太过棘手甚至无法尝试。事实上,Python的Guido van Rossum已经承认允许在Python源代码中使用TAB是很多人的头疼,而且他再次设计Python,他会禁止它们。

(来源:YAML FAQ(感谢Destiny Architect链接))

例如,Symfony configuration file可以写成2或4个空格作为缩进:

4个空格

doctrine:
    dbal:
        default_connection: default

2个空格

doctrine:
  dbal:
    default_connection: default

答案 1 :(得分:3)

您可以尝试cache:clear或尝试使用path代替pattern

path选项是 Symfony2.2 中的新选项,旧版本中使用pattern

community_online_shop_homepage:
    path: /
    defaults: { _controller: CommunityOnlineShopBundle:Page:index }
_login:
    path: /login
    defaults: { _controller: CommunityOnlineShopBundle:Page:login }

答案 2 :(得分:0)

YAML文件不能包含制表符作为缩进,因此错误在这里: C:\\xampp\\htdocs\\api\\app/../src/AppBundle/Resources/config/valida tor.yml" at line 9 (near " - { resource: validators/services.yml }")

答案 3 :(得分:0)

如果您使用的是 EditorConfig ,请确保将其添加到您的 .editorconfig 文件

@Html.LabelFor(m => m.Data, "text1 /<br/> text2", null)

您可以将 indent_size 更改为 2 ,具体取决于您的 首选项