В настоящее время я разрабатываю приложение Symfony 2, и я хочу войти в систему, когда в моих моделях вызывается несколько сеттеров.Injecting Logger в Symfony 2 ODM Documents
Как я вижу, нет никакого способа, чтобы ввести регистратор по умолчанию или доступ к нему через статический реестр в Symfony 2, поэтому мой подход заключается в следующем:
Я добавил статический метод и свойство к основанию класс моих моделей и установите там Logger. Я также добавил геттер, который затем доступен в моих моделях.
Я установил там регистратор через событие ядра запроса, поэтому регистратор доступен только после этого события.
Это решение работает, но для меня это кажется довольно хриплым. Кто-нибудь лучше понял, как подойти к этому? Метод установки, который не полагается на событие ядра запроса, будет приятным. Метод, который не полагается на статические свойства, будет еще лучше!
Внимание! Добавление регистратора в базовый документ может привести к проблемам с сериализацией.
Извините, но это не решит мою проблему. У меня уже есть настроенный журнал, проблема заключается в том, как вводить регистратор в мои классы доменов базы данных, которые не могут быть инъецируемыми, но новыми. AFAIK Я не могу получить доступ к контейнеру службы из своих классов домена. –
Единственное решение - как-то определить логист как Сервис. Только услуги получают inject3ed –