symfony services.yml不包含有效的YAML

wil*_*ano 1 symfony

我在services.yml中遇到错误:services.yml不包含有效的YAML Symfony 3

redirectionListener:
  class: Gba\GbaBundle\Listener\RedirectionListener
  arguments: [@service_container, @session] 
  tags:
    - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }   
Run Code Online (Sandbox Code Playgroud)

你能帮助我吗

谢谢

屏幕截图:

在此处输入图片说明

dbr*_*ann 5

您必须注意yaml中的一些限制。Symfony有一个简洁的命令行工具,可用于检查yaml文件是否有效,该文件还会尝试将您指向错误所在。您可以这样运行它:

bin/console yaml:lint src/Gba/GbaBundle/Resources/config/services.yml
Run Code Online (Sandbox Code Playgroud)

这只会对这一个文件进行处理,如果需要,您也可以将其指向整个文件目录。

我最好的猜测是,您必须在定义为参数的服务周围加上引号,实际上我更喜欢用yaml引用每个字符串值:

redirectionListener:
  class: 'Gba\GbaBundle\Listener\RedirectionListener'
  arguments: ['@service_container', '@session'] 
  tags:
    - { name: 'kernel.event_listener', event: 'kernel.request', method: 'onKernelRequest' }
Run Code Online (Sandbox Code Playgroud)

在Yaml中需要注意的其他事情是正确的缩进以及混合空格和制表符。