symfony 2 и так исторически сложилось что в разных методах они вызывают методы друг-друга, на второй версии они вызывались в необходимых местах через container->get('service_a'), как их заставить работать на symfony 5 без рекурсии?
дока 5 версии рекомендует инжектить сервисы через __construct, но если они будут в конструкторах друг-друга, то это приведет к рекурсии
Рекурсия -> циклическая зависимость
а как ее можно обойти, может как-то заинжектить сервис по другому, не через конструктор
лучше всего переписать их, разбить на несколько классов и заинжектить нужные. можно явно объявить в services.yml использовать calls https://symfony.com/doc/current/service_container/calls.html
К сообщению выше - попробовать объявить один из них lazy
Обсуждают сегодня