В общем, если вы хотите перейти на Symfony 4, у вас больше не будет сервисов, объявленных как:
services:
some.service:
class: AppBundle\SomeService
...
Вы должны изменить это на:
services:
AppBundle\SomeService:
...
Но что происходит, когда у вас есть несколько определений для одного и того же класса? Например:
services:
some.service1:
class: AppBundle\SomeService
...
some.service2:
class: AppBundle\SomeService
...
some.service3:
class: AppBundle\SomeService
...
Все они используют один и тот же класс с именем SomeService, но имеют разные конфигурации, поэтому в зависимости от ваших потребностей вы можете вызывать some.service1, some.service2 или some.service3. Теперь, как этот файл services.yml будет изменен в соответствии со стандартами Symfony 4? Потому что если вы делаете что-то вроде:
services:
AppBundle\SomeService:
...
AppBundle\SomeService:
...
AppBundle\SomeService:
...
Это просто переопределит ваши предыдущие объявления и сохранит только последнее.
Любое решение?
Задача ещё не решена.
Других решений пока нет …