Zend Framework - интеграция с Doctrine 2: где хранить EntityManager?

Я интегрирую Zend Framework и Doctrine 2.

Вопрос в том, что в моих контроллерах и представлении мне нужен доступ к модели. Я могу сделать все это с помощью единственного экземпляра EntityManager .

Где мне сохранить этот экземпляр?

  • Zend_Registry ? Вот где он сейчас, он доступен отовсюду, но не совсем практичен: $ em = Zend_Registry :: get ('EntityManager');
  • Как свойство контроллера и представления? Это будет доступно как $ this-> em , мне это нравится
  • Создать фабричный класс, который будет возвращать экземпляр? $ em = Мой \ EntityManager \ Factory :: getInstance (); . Инкапсуляция хороша, но долго печатать ...
  • Является ли EntityManager синглтоном? -> ( update ) нет, это не так
11
задан hakre 18 April 2013 в 15:06
поделиться