Я интегрирую Zend Framework и Doctrine 2.
Вопрос в том, что в моих контроллерах и представлениях требуется доступ к модели. Я могу сделать все это через один экземпляр EntityManager.
Где хранить этот экземпляр?
-
Zend_Registry
? То, где оно сейчас, доступно извне, но не очень практично:$em = Zend_Registry::get('EntityManager');
- Как свойство контроллера и вида? Это было бы доступно как
$this->em
, мне это нравится - Создайте класс factory, который вернет экземпляр?
$em = My\EntityManager\Factory::getInstance();
. Инкапсуляция хороша, но долго печатается... - Уже есть
EntityManager
a Singleton? → (обновление), а не