дак конструктор запросов для чего? вы же фреймворк здесь создаете?
То есть я еще и виновата?
я так понимаю , все проходят одно и то же, ну вы молодец конечно
Эли4ка
10.01.2019 - 17:44
Цитата |
вы же фреймворк здесь создаете? |
Я Query Builder делаю. До фреймворка мозгов и задач не хватит мне
До фреймворка мозгов и задач не хватит мне
но ведь делаете же и активность на форуме хорошая, приятно видеть, что человек думает читает развивается, в студиях/ компаниях уже работали?
Интересно послушать твина что у него поменялось в голове на тему билдера за эти два года =)
Я вот сейчас с доктриной работаю, удобство построения запросов кодом в принципе есть.
Не сказать что прям всё волшебно стало, но удобство немножко чувствуется.
То есть раньше запрос собирался с помощью дописывания в строку или объединением элементов массива.
$sql[] = "SELECT * FROM `blabla`";
$sql[] = "LEFT JOIN ...";
$sql[] = "WHERE a = b";
В принципе удобно, но есть неудобные места, когда не знаешь будет ли в запросе условие и сколько их будет.
$sql[] = "SELECT * FROM `blabla`";
$sql[] = "LEFT JOIN ...";
$where[] = "a = b";
if (!empty($where)) {
$sql[] = 'WHERE ' . implode(' AND ', $where);
}
В билдере всё это скрыто за удобными методами
Цитата |
$query = $query->andWhere('a = b'); |
Хотя тоже не без косяков. Сначала нужно использовать метод where, а потом andWhere. Соответственно тоже нужно следить и городиться проверки.
Так же есть проблемы из за попытки угнаться за двумя зайцами. Доктрина не умеет работать с плюшками. То есть, например одна СУБД умеет функцию LEFT, а другая СУБД не умеет, то и доктрина этого не умеет, приходится ковырять, писать класс, учить, костылять в общем.
А если у вас нормальный проект, вам потребуется вся мощь СУБД которую вы выбрали, вы же выбрали её не просто так, а потому что там есть ништяки типа "ля", "хря" и "мля" в отличии от другой СУБД, а доктрина вам не даст использовать эти ништяки, потому что совместимость типа.
Разрабатывать через sql клиент становится практически не возможно, потому что совершенно другой синтаксис, запрос уже не скопируешь в код.
Даже части запроса, тестируешь в клиенте, вставляешь в доктрину, там лезут непонятные ошибки, то что то не поддерживается, то доктрина не понимает такой синтаксис, в итоге всё больше логики переносить на php.
Например "DATE_SUB(CURDATE(), INTERVAL 2 MONTH)" тут доктрина ругается на число 2
Короче билдер штука ну очень на любителя.
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Цитата (Arh @ 10.01.2019 - 16:30) |
Интересно послушать твина что у него поменялось в голове на тему билдера за эти два года =) |
Ничего не поменялось. Более того, с плотным изучением DDD и CQRS я укрепился в своем ИМХО.
1. Да, это стильно, модно, молодежно.
2. Инструмент этот должен присутствовать в фреймворке, это факт. Но именно потому, что см. п. 1.
Практическая (не эстетическая) польза сего пердимонокля весьма сомнительна.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
twin
а есть ли у вас
1) система журналов логов , дебагер вижу но он скорее как ловец ошибок работает,
2) и существуют ли системы взаимодействия через "Медиатор" что-то вроде "событий" (tvents) в YII &
Нету))) Этот эксперимент заморожен давно. Там много чего нету. За ненадобностью.
Мне не нравится сама идея биг-фреймворков.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.