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