Zend Framework :: ORM - доктрина / продвижение над Zend_Db_Table - PullRequest
3 голосов
/ 22 марта 2010

Кто-нибудь предлагает использовать внешний ORM, такой как Doctrine / Propel, вместо defualt Zend_Db_Table в Zend Framework?

Я думаю, что ваши ответы с причинами будут полезны для сообщества ZF.

-DevD

Ответы [ 3 ]

4 голосов
/ 23 марта 2010

Это зависит от того, как вы разработали свое приложение.

За исключением ActiveRecord, ZF предоставляет реализации для трех из четырех архитектурных шаблонов источников данных в PoEAA . Если объекты вашей модели отображаются очень близко к вашей структуре базы данных, то для вашего приложения может быть достаточно компонентов ZF.

Если ваши объекты отображаются или объединяются из нескольких таблиц, лучше подойдет пользовательский DataMapper поверх классов ZF DB или полноценный ORM, такой как Doctine или Propel. Только вы можете решить это.

2 голосов
/ 26 марта 2010

Полноценный ORM может также предоставить некоторую дополнительную функциональность, которая будет полезна для вас.Кому-то может понравиться DQL, используемый в Doctrine, другим, возможно, не захочется писать запросы вручную для извлечения объектов, и они могут предпочесть плавные интерфейсы, такие как API-интерфейс ModelCriteria Query в предстоящем Propel 1.5.

Таким образом, в основном все зависит от ваших собственных потребностей, не существует единого «лучшего решения», подходящего для всех проектов.

1 голос
/ 23 марта 2010

Я бы порекомендовал:

  1. Doctrine 2.0 - кроссплатформенность, простота использования, хорошая производительность, хорошая документация, поддержка пространств имен, мощная, возможно, она станет частью ZF 2.0
  2. Doctrine 1.2 - кросс, платформа, простота использования, простота реализации, полезные расширения (например, NestedSet, Taggable, Commentable), хорошая документация, работа с автозагрузчиком ZF, инструментом CLI, YAML, фиксацией данных
...