В чем для вас основное отличие этих двух систем?
Для себя я отметил следующее, но оно явно не полное.
1. Eloquent и Doctrine - оба ORM. Оба реализуют паттерн Fluent Interface.
Eloquent возвращает коллекцию объектов класса Test
Doctrine массив объектов класса Test
2. Миграции и ORM
В Laravel мы вынуждены создавать миграции сами и следить за синхронизацией структуры БД и PHP-классов
В Symfony же работа с миграциями осуществляется через Doctrine ORM. Здесь мы можем работать только с PHP-классами и аннотациями.
3. Шаблонизаторы
Symfony работает с Twig. Laravel - с Blade
Laravel - для ослов, Symfony - не для ослов, но бывает что тоже для ослов
а в чем цель исследования?
2. Это лучше, чем автоматическая генерация миграций, имхо. Хотя бы башкой подумаешь, когда будешь писать миграции.
орм работают совершенно по разным подходам, альо гараж
Найти оптимальное понимание основного отличия. Был на разных собесах, и у каждого собеседующего свое понимание этого вопроса.
1. Тут непонятно. И что что реализуют FluentInterface? Ты сейчас путаешь query builder и orm.
1. Fluent interface ты найдешь буквально у всех фреймворков и ORM. Буквально у всех. 2. можем но в реальности это работает только для оч простых кейсов. За миграциями всеравно придется следить и всеравно надо помнить что есть схема индексы и что надо делать CREATE INDEX CONCURRENTLY. 3. И там и там его можно заменить.
По моему субъективному опыту: 1) В Laravel сложнее интегрировать сторонние решения, например доктрину. Потому что многие фичи фреймворка завязаны на его коробочный стэк (сиды и апи-ресурсы могут много "веселого" доставить, если юзать их с доктриной) 2) В Laravel менее гибкий сервис-контейнер (сильно не понравилось отсутствие _instanceof, а так же не хватает функционала для ручной фильтрации сервисов), хоть и со своими фишками вроде contextual binding 3) Оба фреймворка RAD, но laravel чуть больше, т.к. в тех же форм-реквестах или апи-ресурсах многое доступно из коробки (из-за этого в фреймворке овердофига наследования и куча неиспользуемого функционала инициализируется, хотя это скорее экономия на спичках). Кроме того, в ларавеле дофига функционала связано, что является тоже и минусом и плюсом (те же апи-ресурсы дружат с элоквент-моделями и могут всякое-разное) 4) В ларавеле есть еб*чие фасады (и если сам ты их можешь не юзать, то вот стандартных там дофига, и не все додумываются конкретный инстанс юзать вместо фасада)
Обсуждают сегодня