Symfony 3, DI – добавление сервиса в аргумент

У меня есть этот код

services: repo.game: class: Doctrine\ORM\EntityRepository factory_service: doctrine.orm.default_entity_manager factory_method: getRepository arguments: - AppBundle\Entity\Game file.upload.listener: class: AppBundle\Listener\FileUploadListener arguments: [@repo.game] tags: - { name: "kernel.event_listener", event: "oneup_uploader.post_upload", method: "onUpload" } 

Это отлично работало в <= 2.8, но здесь, в 3.0, я получил это сообщение об ошибке

[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException] The file "/ext/thing/app/config/services.yml" does not contain valid YAML.

[Symfony\Component\Yaml\Exception\ParseException] The reserved indicator "@" cannot start a plain scalar; you need to quote the scalar at line 14 (near "arguments: [@repo.game]").

В моем файле /ext/thing/app/config/services.yml ничего больше /ext/thing/app/config/services.yml

Ссылаясь на руководство UPGRADE в разделе yaml :

Запуск строки без кавычек с помощью @, `, \ или> приводит к исключению ParseException.

Поэтому попробуйте изменить конфигурацию следующим образом:

  file.upload.listener: class: AppBundle\Listener\FileUploadListener arguments: ["@repo.game"] tags: - { name: "kernel.event_listener", event: "oneup_uploader.post_upload", method: "onUpload" } 

Надеюсь, что эта помощь

Первая ошибка выглядит как отступ, у вас есть 2 отступов и 4 отступа в аргументе и тегах, попробуйте проверить yml онлайн.

Второй symfony 3 теперь строг. вам нужно добавить цитату в службу аргументов [@repo.game] в ["@repo.game"]

На данный момент значение со специальными символами должно быть обернуто одинарными кавычками, а не двойными. Он действителен yaml, но, например, он бросает множество исключений в phpunit для symfony