web-dev-qa-db-fra.com

Un fichier YAML ne peut pas contenir d'onglets comme retrait

Il s'agit de mon premier travail avec Symfony 2. Tout ce que j'essaie de faire ici, c'est chaque fois que l'utilisateur clique sur le bouton Soumettre, il ira sur une autre page.

Mais ma page d'index ne se charge pas. Ils disent qu'il y a un problème avec mon fichier de routage, en particulier:

Un fichier YAML ne peut pas contenir d'onglets comme retrait

Je ne sais pas ce que j'ai fait de mal. Voici mon fichier de routage.

community_online_shop_homepage:
    pattern: /
    defaults: { _controller: CommunityOnlineShopBundle:Page:index }
_login:
    pattern: /login
    defaults: { _controller: CommunityOnlineShopBundle:Page:login}
26
eddard.stark

Un fichier YAML utilise des espaces comme indentation, vous pouvez utiliser 2 ou 4 espaces pour l'indentation, mais aucun onglet . En d'autres termes, le retrait des tabulations est interdit:

Pourquoi YAML interdit-il les onglets?

Les onglets ont été interdits car ils sont traités différemment par différents éditeurs et outils. Et puisque l'indentation est si critique pour une interprétation correcte de YAML, ce problème est tout simplement trop délicat pour être tenté. En effet, Guido van Rossum de Python a reconnu qu'autoriser les TABs dans Python source est un casse-tête pour beaucoup de gens et qu'il devait concevoir Python encore une fois, il leur interdirait.

(source: FAQ YAML (merci à Destiny Architect pour le lien))

Par exemple, le fichier de configuration Symfony peut être écrit avec 2 ou 4 espaces en retrait:

4 espaces

doctrine:
    dbal:
        default_connection: default

2 espaces

doctrine:
  dbal:
    default_connection: default
45
A.L

Peux-tu essayer cache:clear ou essayez d'utiliser path au lieu de pattern.

L'option path est nouvelle dans Symfony2.2, pattern est utilisée dans les anciennes versions.

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

Un fichier YAML ne peut pas contenir d'onglets comme retrait, donc l'erreur est ici: C:\\xampp\\htdocs\\api\\app/../src/AppBundle/Resources/config/valida tor.yml" at line 9 (near " - { resource: validators/services.yml }").

0
mirihen

SI vous utilisez EditorConfig assurez-vous de l'ajouter à votre fichier . Editorconfig

[*.yml]
indent_style = space
indent_size = 4

vous pouvez changer indent_size en 2, dépend de vos préférences

0
chebaby