Что DAL Альтернатива доктрине для Symfony2 - PullRequest
4 голосов
/ 14 октября 2011

Мне действительно нравится, куда движется symfony 2 , мне просто очень не нравится доктрина , я люблю codeigniters система активной записи БД, могу ли я в любом случае полностью удалить доктрину из Symfony и заменить ее на DAL, подобный codeigniters?

Ответы [ 2 ]

2 голосов
/ 15 октября 2011

Doctrine 2 - это чистая Data Mapper реализация шаблона.Его преимущество перед Active Record заключается в том, что вам не нужно сгибать вашу модель к схеме базы данных или наоборот.В большинстве случаев ваша модель и схема могут развиваться отдельно;вам нужно будет обновить только метаданные отображения.

Кроме того, вам не нужно расширять / реализовывать какие-либо специальные классы / интерфейсы.Ваша модель состоит из POPO (Plain Old PHP Objects), а отображение управляется внешним объектом - менеджером сущностей.Это обеспечивает хороший дизайн ОО на стороне PHP и хороший дизайн схемы на стороне базы данных.

Итак, я предлагаю вам переосмыслить ваше желание вернуться к Active Record.Смена парадигмы может занять некоторое время, но оно того стоит.

1 голос
/ 15 октября 2011

То, что Doctrine является выбором по умолчанию, не означает, что оно единственное. Он не тесно связан с Symfony и может быть заменен.

Symfony предоставляет разумные значения по умолчанию, но дает вам свободу их менять.

Например, вы можете использовать Propel . Он реализует Active Record (в отличие от Doctrine2).

Вы можете написать свою собственную реализацию ORM, если хотите.

Обратите внимание, что кроме ORM в Doctrine есть несколько полезных вспомогательных библиотек. Например, средство чтения аннотаций используется в Symfony для анализа аннотаций. Если вы используете их, вам понадобится эта часть Учения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...