Какие есть преимущества у laravel5 перед symfony2?
Сразу скажу что вопрос задаётся не ради холивара. Больше года работаю с symfony2, решил пощупать laravel ради увеличения кругозора. В связи с чем интересует мнение людей, которые работали с обоими фреймворками - какие преимущества у laravel перед symfony. Сразу оговорюсь - аргументы "простота и понятность" для меня не являются аргументами - симфония изучена вдоль и поперек, поэтому не кажется сложной. Да, порог входа высок, но после изучения всё логично, просто и понятно. Хотелось бы понять ради чего стоит попробовать laravel, что это может дать.
Если вы ощущаете себя в Symfony как рыба в воде, то ничего нового вам Laravel не даст - построен он на компонентах Symfony, архитектурные принципы те же. Только в Laravel всё это скрыто за удобными фасадами.
С другой стороны, если вы понимаете Symfony, и вообще имеете приличный опыт разработки и голову на плечах, то вы больше времени на чтение ответов здесь потратите, чем на изучение Laravel.
- Можно поподробнее - чем удобнее инжектить? Просто тяжело представить в чём может быть удобнее чем указать сервисы и получить их в контроллере/методе =)
- Eloquent для простых задач наверно проще, но доктрина предостовляет значительно больше возможностей. В частности у нас например сделано логгирование изменений, которое отрабатывает по событию сброса данных в базу, с ActiveRecord как я понимаю такое нереализуемо
- В symfony также есть генераторы моделей (из коробки), миграций (отдельно) и много другого. На практике генераторы, за исключением миграцию нужны крайне редко.
- Наличие горки валидаторов можно засчитать в плюс, хотя в симфони довольно редко чего-то не хватало, и свой валидатор прикручивается за 5 минут, валидация в контроллере так же есть
- Middleware можно считать плюсами, хотя в целом в симфони это реализуется через события.
dizzy7: я использовал jmsdiextrabundle, приходилось писать больше строчек кода.) eloquent тоже логируется, расширяется. Лично для меня AR > QB > ORM. Генераторов море почти для всего кода и очень удобные. события - знаю про всякие onKernelRequest итд, но там еще надо следить за priority. В ларавеле это все гибче.