Zend Framework :: ORM — доктрина/продвижение над Zend_Db_Table

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

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

-DevD


person user274383    schedule 22.03.2010    source источник


Ответы (3)


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

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

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

person Gordon    schedule 22.03.2010
comment
Спасибо, ребята, что поделились своими знаниями и взглядами -DevD - person user274383; 25.03.2010

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

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

person wimvds    schedule 26.03.2010
comment
Я согласен. Лично мне нужны конкретные методы получения и установки, которые предоставляет Propel. «Виртуальные» методы получения/установки Doctrine просто не соответствуют моему предпочтительному стилю. Думаю, это то, что я получаю за то, что какое-то время работаю с парнями из Java;) - person lo_fye; 25.05.2010

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

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