On ne présente plus YAML™ qui est très largement utilisé par Symfony. Mais il n’est pas certain que nous l’utilisions de la bonne manière.
J’ai souvent vu (dans mon code d’ailleurs) l’appel à un service de cette manière :
# services.yml
service.name.with.construct:
class: FreshBundle\ClassName
arguments: [@service_container]
Je ne mettais pas forcément de "
(double quote) et ça marchait très bien.
Mais quand on lit la documentation officielle :
The « @ » and « ` » are reserved for future use.
Example 4.10. Invalid use of Reserved Indicators
commercial-at: @text
grave-accent: `textERROR: Reserved indicators can’t start a plain scalar.
On comprend que @var
et "@var"
pourraient être totalement différents, car ils se sont réservés le droit d’utiliser l’indicateur @
plus tard.
Il nous faut donc corriger au plus vite nos fichiers de configuration avec une syntaxe YAML valide :
# services.yml
service.name.with.construct:
class: FreshBundle\ClassName
arguments: ["@service_container"]