Два очередных вульгарных мифа, упорно повторяемые сугубыми "теоретиками".Билдер, имхо, решает две проблемы(задачи):
1. Переносимость между разными субд.
2. Чистота кода при формировании запроса.
https://github.com/FriendsOfSymfony/FOSUserBundle — а ты видишь где-то здесь требование «MySQL only» или похожее?Два очередных вульгарных мифа, упорно повторяемые сугубыми "теоретиками".
Поговаривают, что кроме MySQL и его 15 форков бывают и СУБД с нормальным оптимизатором.поговаривают, что порою два простых запроса работают быстрее чем один сложный.
А некоторые, в частности ТС, про производительность вообще изначально не говорили. Но похапэ-погромисты, со свойственным им кругозором опять всё свели "на баб".В этой же теме произошла путаница: некоторые говорят про производительность написания, некоторые про производительность выполнения.
Хочу ещё раз уточнить: я-то никакую "супер-пупер универсальную прокладку" писать не планирую, за этим проходите к авторам Doctrine. Я пока планирую сделать билдер для конкретного диалекта SQL, а для того, чтобы им было --- лично мне --- удобнее пользоваться, добавить в него возможность разбора [фрагментов] запроса.Тут дело не только в производительности. Наличие всей этой супер-пупер универсальной прокладки для модели данных крайне сомнительно. Между конкретной моделью данных приложения и хранилищем достаточно простого драйвера, который пишется при необходимости в полчаса под любой SQL дилаект и вобще произвольный способ хранения.
Спорим с соломенным чучелком? Тут кто-то --- кроме тебя --- говорил про использование билдера в "приложении", а не в слое работы с базой?Для написания приложение эти "удобства" не нужны, поскольку оно вообще говоря не должно знать, где хранятся его данные (тем более с каким диалектом там SQL).
Пробовал, не понравилось, хочу оверхед. Как уже было сказано выше, он легко побивается кэшированием результата генерации, как в тех же шаблонизаторах, вот это вот жалкоеА для написания драйвера (который как бы уже не часть бизнес-модели), можно и без "удобств" обойтись, и наоборот на оверхеде съэкономить не грех.
за возражение, на мой взгляд, не катит.Но-но, не надо тут широкими жестами риторически сравнивать вывод данных и выборку данных из базы.
Ну да, у правильных похапэ погромистов зато приложение работает одинаково хорошо и с данными в СУБД, и с данными в XML файлах, и с данными в подготовленном секретаршей Excel'е, ибо "приложение не должно знать, где хранятся его данные", всё решается заменой простого драйвера, написанного "в полчаса под любой SQL дилаект и вобще произвольный способ хранения".Всякого рода билдеры свойственны охапэ-погромистам, кругозор котрых никак не может отделить модель данных приложения от хранилища. Вот они придумывают всякие "удобства".
where_clause:
WHERE a_expr { $$ = $2; }
| /*EMPTY*/ { $$ = NULL; }
;