Приложение Zend Framework / Doctrine 2.
Если возможно, я хотел бы сохранить свои услуги в качестве POPO.Какой лучший способ получить доступ / ввести EntityManager в моем классе обслуживания?Я новичок в DI, поэтому этот вопрос.EntityManager доступен как ресурс начальной загрузки в моих контроллерах.
Должен ли я просто написать абстрактный класс для служб для доступа к EntityManager?Должен ли я написать класс для создания экземпляров моих сервисов, внедряя EntityManager через конструктор / установщик? ... который будет включать интерфейс для моих сервисов.Должен ли я использовать DI Framework?Если да, то какой и как?
Или есть другой, лучший способ сделать это?
Я прочитал о внедрении зависимостей, но все еще не полностью понял в этом контексте.
Обновление (12 января 2011 г.)
Итак, это мое текущее рабочее решение: у меня есть помощник действий под названием Resource, это помощник для извлечения ресурсов из начальной загрузки или вы можете вручную добавить ресурсы к нему: http://pastie.org/1450851
$this->_helper->Resource('em'); // get EntityManager
Может ли кто-нибудь рассказать о влиянии на производительность локального хранения ресурсов начальной загрузки в классе помощника?Я переусердствовал в этом?
TODO: Измените таблицу ресурсов из класса.
И у меня есть помощник действий для загрузки служб: http://pastie.org/1450855
TODO: Добавьте проверки перед попыткой загрузкиservice.
Пожалуйста, предоставьте некоторую критику в отношении вышесказанного:)