YAML 文件不能包含制表符作为缩进


A YAML file cannot contain tabs as indentation

这是我第一次使用Symfony 2。我在这里要做的是,每当用户单击提交按钮时,他都会转到另一个页面。

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

YAML 文件不能包含制表符作为缩进

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

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

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

为什么 YAML 禁止选项卡?

选项卡已被取缔,因为它们被不同的编辑器和工具区别对待。由于缩进对于正确解释 YAML 至关重要,因此这个问题太棘手了,甚至无法尝试。

(来源:YAML FAQ(感谢命运建筑师的链接))

例如,Symfony配置文件可以用2或4个空格作为缩进来编写:

4个车位

doctrine:
    dbal:
        default_connection: default

2个车位

doctrine:
  dbal:
    default_connection: default

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

[*.yml]
indent_style = space
indent_size = 4

您可以将indent_size更改为 2,具体取决于您的喜好

您可以尝试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 }

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