55

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

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

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

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

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

4 回答 4

85

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

为什么 YAML 禁止选项卡?

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

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

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

4个空格

doctrine:
    dbal:
        default_connection: default

2个空格

doctrine:
  dbal:
    default_connection: default
于 2013-11-14T11:45:46.293 回答
4

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

[*.yml]
indent_style = space
indent_size = 4

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

于 2019-04-05T10:07:16.147 回答
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 }
于 2013-11-14T11:09:37.090 回答
-1

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

于 2019-03-11T14:43:49.870 回答