Отзывы об использование ORM

Absinthe

жожо
Из не надуманных минусов - нельзя на лету(или скажите как) переключать режим загрузки объекта. То есть по умолчанию все грузится лениво, а можно все сразу, но сначала это нужно описать в конфиге.
в селекте прописываешь, какие объекты хочешь получить.
Работает как при выборке из QB, так и из DQL.
 

Absinthe

жожо
Из не надуманных минусов - нельзя на лету(или скажите как) переключать режим загрузки объекта. То есть по умолчанию все грузится лениво, а можно все сразу, но сначала это нужно описать в конфиге.
Не нужно. Просто используй CURRENT_TIMESTAMP().
 

hell0w0rd

Продвинутый новичок
Absinthe
Вот именно. Приходится или квери билдер для таких целей использовать. А можно было бы дать возможность на лету менять. В общем на мой взгляд, если вы не собираетесь в проекте каждую неделю менять субд - доктрина оверхед, иначе я не понимаю зачем такие абстракции там используются
 

Absinthe

жожо
hell0w0rd а что ты используешь?
Doctrine - не AR.
Это мэппер. Естественно, оверхед.
 

hell0w0rd

Продвинутый новичок
Absinthe
Сейчас пхалконовскую пробую)

Вот кстати меня интересует вопрос, кто что думает, нужно ли в php меппер, или AR хватает за глаза?
 

hell0w0rd

Продвинутый новичок
Сравнение не корректно, так можно сказать про while и for, но это просто синтаксический сахар, так что нужно. А вот AR и DM имеют архитектурные различия
 

Absinthe

жожо
Представь себе проект на десятки тысяч человекочасов.
Как будут выглядеть файлы основных моделей при использовании AR?
 
Последнее редактирование:

Gas

может по одной?
Вурдалак
ну если так обобщать без указания специфики, тогда

PHP— это отвратительно.

Absinthe
Представь себе проект на десятки тысяч человекочасов.
завидую если у тебя все проекты такие, обычно php-проекты гараздо меньше.

имхо, считаю что в проектах до человеко года AR более чем юзабелен, чем дальше, тем конечно дата маппер выиграшней за счёт отделения мух от котлет.
 
Последнее редактирование:

Вурдалак

Продвинутый новичок
hell0w0rd, какая разница-то? Запросы на выборку сущностей (User::getActiveUserList(), etc.) никуда не денутся.

Тут и сложности с тестированием возникают. Если объект mapper'а можно заменить каким-нибудь моком, то здесь нет — синглтон по сути.
 
Последнее редактирование:
Сверху