Если на таких языках программирования, как Java, C# или Ruby выбор основного фреймворка не представляет собой сложности (там всего по одному ведущему фреймворку), то с php все не так просто. В настоящий момент на php есть порядка 10 активно развивающихся фреймворков, которые могут показаться привлекательными, однако тут есть несколько нюансов.


Вы хотите остаться без работы на php?

Когда новичок спрашивает про фреймворки на php, ему обычно начинают говорить про супер простой и легковесный SLIM, либо про эффективный CodeIgniter, либо про «популярный» Yii Framework, либо про корпоративный и проверенный Zend Framework и так далее. Однако мнение толпы довольно часто не соотносится с реальным положением дел в отрасли.

Если начать сейчас искать реальные вакансии на PHP, то окажется, что  примерно 90% всех вакансий будет, либо на Symfony, либо на Laravel. Поэтому у вас есть простой и понятный выбор – учить Slim или CodeIgniter и остаться без работы, либо учить Symfony или Laravel и работать. Логичней и правильней последовать за работой.

Что такое Laravel

Основной RAD фреймворк на PHP,  который специализируется на разработке полноценных решений в кратчайшие сроки. Чаще всего его выбирают стартапы, когда им нужно быстро получить готовое решение, которое можно достаточно быстро развивать и модифицировать. За счет этого стал самым популярным фреймворком на PHP.

Сейчас Laravel — это огромная экосистема, включающая хостинг и платформу для развертывания приложений. Он имеет собственный обработчик шаблонов «Blade», элегантный синтаксис, упрощающий выполнение рутинных операций, таких как авторизация, управление сессиями, очередями, кэшированием и маршрутизацией. Кроме того, Laravel содержит локальную среду разработки Homestead, являющуюся частью пакета Vagrant.

Как правило, если вам нужно что-то сделать на Laravel, для этого уже есть какой-то встроенный компонент, который позволит вам получить готовый функционал в несколько простых шагов.

Что такое Symfony

Основной Enterprise фреймворк на PHP, который используют самые большие и известные компании в отрасли. По своей идеологии является клоном Spring Framework из мира Java, что играет только ему в плюс. Имеет компонентную структуру.

Компоненты фреймворка Symfony используют такие известные проекты как Drupal и phpBB, и даже ранее рассмотренный Laravel. Symfony разрабатывается большим сообществом разработчиков, поэтому он получает большие и качественные обновления.

По этому фреймворку есть множество обучающих видео, курсов и даже полноценных книг. На нем можно создать, как небольшие сайты, так и большие сложные распределенные системы.

Кривая обучения у Symfony и Laravel

Если вы до этого еще не программировали, то логично начать свое обучение с Laravel, так как его изучение будет идти гораздо быстрее и проще, чем Symfony. Плюс существует множество хороших туториалов для новичков, которые проговаривают самые элементарные вещи. Это очень круто на старте.

Что касается Symfony, то нужно понимать, что корпоративные фреймворки предназначены для опытных специалистов, которые многие вещи уже знают и понимают. Поэтому, начав свое обучение с Symfony, вы рискуете зайти в тупик, так как просто не сможете понять какие-то тяжелые особенности фреймворка. Однако если вы пришли в php из Java, .NET или Python, то можно смело браться за Symfony, так как его работа очень похожа на Spring, .NET 5 и Django.

Уровень заработной платы на фреймворках

Если не считать несколько проектов на Laravel от российских банков, и опустить возможность работать на заказчиков из США, то в среднем программистам на Symfony предлагают на 10-15% больше, чем программистам на Laravel. Это обуславливается главным образом за счет того, что на Symfony ведут свои проекты более крупные компании, которые могут увеличить фонд оплаты труда, чтобы переманить к себе самых талантливых программистов на php.

Однако если у вас есть английский язык и предпринимательская жилка, то на фрилансе на Laravel можно зарабатывать хорошие деньги, так как проектов на Laravel гораздо больше, чем на Symfony. И это будут деньги, которые превышают средний доход российского программиста на Symfony, работающего в российской фирме.

Вывод о выборе фреймворка

Если у вас мало опыта, либо вы хотите работать на фрилансе или запустить собственный проект, то логично выбрать Laravel, так как он учится быстрее, да и в целом работа на нем идет веселее.

Если вы пришли в php уже с опытом и вам нужна корпоративная разработка в больших компаниях за максимальные зарплаты на php, то выбираем Symfony.

Однако в целом не нужно переживать насчет выбора фреймворка, так как после того, как вы выучите один из них, второй можно будет выучить очень быстро. Главное начните, а потом уже как пойдет.