Почему я должен использовать Doctrine над Zend_Db?

Я использую Zend_Db в каком-то проекте, я обнаруживаю, что Доктрина есть некоторое время, но никогда не использовала его.

В чем преимущество Doctrine над Zend_Db? Каковы преимущества использования Doctrine?

Кстати, легко ли использовать Doctrine с Zend Framework 1.10.7? Интеграция и использование с другим компонентом? Поскольку, похоже, не существует адаптера Doctrine

Спасибо

Ответы

Ответ 1

Доктрина - это ORM. Это предназначалось для сохранения богатой объектной модели домена в базе данных и эффективного разрешения запросов при сохранении результатов в виде объектов. Zend_Db содержит реализацию шаблонов проектирования шлюза таблицы и строки данных, которые обеспечивают простую схему для запроса одной таблицы и управления ее строками. Это делает Zend_Db своего рода меньшим двоюродным братом Доктрины, причем последний намного более мощный и полезный, а также более сложный и ресурсоемкий. Если у вас богатая доменная модель с множеством взаимосвязей, Doctrine - это ваше решение для управления всей сложностью. Для простого CRUD на простых таблицах обязательно используйте Zend_Db.

Вам не нужен адаптер для Doctrine, вы просто используете его. Несколько классов в Zend Framework легко интегрируются с Zend_Db, хотя - например, проверка на основе существования строки базы данных - и вам придется готовить собственные эквиваленты. Это потребует некоторой работы, но это не сложная задача, и вы сможете найти некоторые реализации, легко доступные в сети.