vshemarov
@vshemarov

Какие SQL builder'ы для PHP вы используете?

Интересуют PHP библиотеки/классы, позволяющие динамически строить SQL-выражения. Но чтобы без жесткой привязки к MySQL, а была возможность цеплять драйверы для разных баз. Кто какие использует и почему?

Компоненты, завязанные на конкретные CMS/фреймворки, только внутри которых их можно использовать, не интересуют.
  • Вопрос задан
  • 2988 просмотров
Пригласить эксперта
Ответы на вопрос 4
bboytiwst
@bboytiwst
В PHP все ORM разделяются на 2 класса. Разнятся они основным шаблоном проектирования, взятым за основу, а именно
  1. DataMapper (Doctrine ORM (Symfony2), Spot ORM)
  2. ActiveRecord (Propel ORM, Eloquent ORM(Laravel), Yii Active Record, Gas ORM, PHPixie)


1 - Sport ORM, Doctrine ORM основаны на Doctrine DBAL который так же можно юзать отдельно, без самой ORM. Doctrine ORM дает немного больше возможности где развернуться и является более сложным и соответственно тяжелым решением, использовать которое для небольших сайтов не имеет особого смысла. ORM такого тип отлично подходят для средних и почти больших сайтов :D

2 - Всё что с ActiveRecord на борту за частую является немного проще как архитектурно так и в обращении. Отлично подходят ORM такого типа для небольших и средних сайтов. При работе с ними любая манипуляция с сущностью это работа с записью в таблице.
ActiveRecord ORM отлично подходит для небольших сайтов.

Для крупных же порталов/сайтов/сервисов на мой взгляд подходит только Plain SQL без большинства наворотов предоставляемых ORM'ками, т.к на них уходит много ресурсов, появляются лишние запросы, много уходит на гидрацию в объекты и т.д.
Ответ написан
@raycheel
Propel или Propel2 - суперская ORM с генерацией запросов. Мне нравится, использую практически везде.
Посмотри тут.
Ответ написан
Комментировать
nalomenko
@nalomenko
Руководитель отдела разработок в студии «Lava»
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Doctrine ORM имеет мощный встроенный билдер запросов с привязкой к объектам. Генерация схемы и миграций по метаданным, короче... удобнее штуки я не встречал и врят-ли на данный момент что-то удобнее есть (на втором месте пожалуй Propel).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы