Home » Php » php – A YAML file cannot contain tabs as indentation

php – A YAML file cannot contain tabs as indentation

Posted by: admin April 23, 2020 Leave a comment

Questions:

This is my first work with Symfony 2. All I am trying to do here is whenever the user clicks on the submit button he will go to another page.

But my index page isn’t loading. They are saying there is something wrong with my routing file, specifically:

A YAML file cannot contain tabs as indentation

I don’t know what I have done wrong. Here is my routing file.

community_online_shop_homepage:
    pattern: /
    defaults: { _controller: CommunityOnlineShopBundle:Page:index }
_login:
    pattern: /login
    defaults: { _controller: CommunityOnlineShopBundle:Page:login}
How to&Answers:

A YAML file use spaces as indentation, you can use 2 or 4 spaces for indentation, but no tab. In other words, tab indentation is forbidden:

Why does YAML forbid tabs?

Tabs have been outlawed since they are treated differently by different editors and tools. And since indentation is so critical to proper interpretation of YAML, this issue is just too tricky to even attempt. Indeed Guido van Rossum of Python has acknowledged that allowing TABs in Python source is a headache for many people and that were he to design Python again, he would forbid them.

(source: YAML FAQ (thanks to Destiny Architect for the link))

For example, the Symfony configuration file can be written with 2 or 4 spaces as indentation:

4 spaces

doctrine:
    dbal:
        default_connection: default

2 spaces

doctrine:
    dbal:
        default_connection: default

Answer:

Can you try cache:clear or try using path instead of pattern.

The path option is new in Symfony2.2, pattern is used in older versions.

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

Answer:

IF you are using EditorConfig make sure to add this to your .editorconfig file

[*.yml]
indent_style = space
indent_size = 4

you can change indent_size to 2, depends on your preferences

Answer:

A YAML file cannot contain tabs as indentation, so the mistake is here:
C:\\xampp\\htdocs\\api\\app/../src/AppBundle/Resources/config/valida
tor.yml" at line 9 (near " - { resource: validators/services.yml }")
.