Я написал свой собственный класс ведения журнала, который я определил как услугу, и разместил его в пространстве имен AppBundle\Services
. Я могу легко получить доступ к нему внутри контроллера, когда я хочу что-то регистрировать, но как насчет доступа к нему из других сервисов?Глобальная служба регистрации
Мне нужно передать службу регистрации как инъекцию зависимостей, но что делать, если у меня установлено более 100 служб (сервисы, модули, прослушиватели событий и т. Д.), Каждый из которых имеет свои собственные зависимости? Это создаст беспорядок.
Я также думал о расширении некоторой основной службы, которая определяет службу ведения журнала, но опять же - все мои службы, модули, прослушиватели событий должны были бы расширить один основной класс.
Каков наилучший подход для решения этой проблемы?
В услугах отправляется событие и выслушиваете его с помощью регистратора. – malcolm
Если у вас уже есть 100 сервисов, то, по мере необходимости, инжектирование регистратора вряд ли будет похоже на беспорядок. Я полагаю, вы могли бы попробовать добавить какой-то тэг регистрации в свои определения сервисов, а затем использовать компилятор для фактического ввода регистратора. Но вряд ли стоит усилий. – Cerad