Топ-5 PHP-фреймворков: Laravel vs Yii vs Zend vs Phalcon vs Sympfony, плюсы и минусы

Типичный программистТипичный программист

Топ-5 PHP-фреймворков: Laravel vs Yii vs Zend vs Phalcon vs Sympfony, плюсы и минусы

РНР-фреймворки имеют огромные возможности и уникальные экосистемы, которые подойдут под огромное количество задач. Они способны создавать лучше сформированные, безопасные и понятные приложения/вебсайты за более короткие промежутки времени.
Почему используют PHP фреймворки?

Разработчики выбирают фреймворки, потому что они ускоряют разработку, обладают безопасностью из коробки и способны масштабироваться довольно легко. Выбор правильного фреймворка, который работал бы в соответствии с вашими потребностями, может быть сложной задачей. Ниже представлены ТОП 5 самых популярных фреймворков.

Laravel
Плюсы

Превосходная IoC (Инверсия управления)
Удобная система миграций
Интегрированная система модульного тестирования
Встроенный шаблонизатор Blade
Очень гибкое формирование роутов
Очень гибкие возможности для написания REST API
Очень быстро развивается
Море документации на любую тему
Популярен на Западе
Консоль отладки из коробки со стеком вызовов
RBAC
ACL плагины

Минусы

Большой функционал работает через фасады, и IDE-системы не видят методов и свойств в некоторых классах, показывая предупреждения
Изучается немного сложнее Yii2
Нет встроенных генераторов интерфейсов

Порог входа: достаточно знать ООП и базы данных

Средний уровень зарплат Laravel программистов: от 70 000 руб

Phalcon
Плюсы

Высокая производительность
Богатый функционал
Хорошо подходит для Highload
Находится в оперативной памяти
Требует минимум файловых операций
Потребляет мало ресурсов
Можно пользоваться собственной базой и ее отдельными элементами
По технологиям ORM происходит взаимодействие с базами данных, что в результате дает очень большую производительность
Все процессы происходят довольно быстро, благодаря прямому обращению фреймворка к внутренним структурам PHP
Можно пользоваться собственной базой и ее отдельными элементами

Минусы

Исходный код на Си
Пока недостаточная популярность
Является extension (а это означает, что на шаред хостинге вы можете просто не запустить приложение)
Многие до сих пор ещё не догадываются о существовании Phalcon

Порог входа: средний, надо знать ООП, разбираться в шаблонах проектирования и иметь практический опыт работы с проектами

Средний уровень зарплат Phalcon программистов: от 80 000 руб

Symfony
Плюсы

Относится в той же степени к Yii. К тому же документация Symfony настаивает на том, что это не MVC-фреймворк
Встроенная поддержка Codeception позволяет писать функциональные и приёмочные тесты
YAML как плюс фреймворка
Некоторые из компонентов Symfony2 теперь реализуются в больших проектах, таких как Drupal и PhpBB
Большое сообщество разработчиков
Много готовых модулей (бандлов)
Подробная и понятная документация
Достаточно высокая скорость работы ядра
Низкая связность компонентов

Минусы

Symfony юзает страшный и могучий ОРМ (пропел и доктрин), очень ресурсоемкий
Высокий порог входа
Перенасыщенность разного рода сущностями
Интегрированный аннотационный синтаксис

Порог входа: высокий, надо знать ООП, разбираться в шаблонах проектирования и иметь практический опыт работы с проектами на других фреймворках

Средний уровень зарплат Symfony программистов: от 80 000 руб

Zend framework
Плюсы

Наследование классов
Объектно-ориентированная сущность
Имеет готовое решение для множества задач
Интегрируем все, что угодно, со всем, что пожелаем
Интернационализация приложений
Поддержка сообщества разработчиков
Высокое качество документирования

Минусы

Не подходит для быстрого развития
Медленнее, чем некоторые другие фреймворки (но достаточно быстро для 90% сайтов, БД почти всегда является узким местом).
Требует много времени для изучения
Ресурсоемкий

Порог входа: высокий, надо знать ООП, разбираться в шаблонах проектирования и иметь практический опыт работы с проектами на других фреймвоорках

Средний уровень зарплат Zend программистов: от 80 000 руб

Yii2 framework
Плюсы

Визуальный генератор кода
Максимально интуитивная MVC-архитектура. Особенно с нуля его учить приятно
Использует стандартные способы решения задач, что уменьшает или устраняет запутанность кода
Облегчает поддержку кода с использованием общей архитектуры и методов
Имеет активное сообщество разработчиков, которые поддерживают фреймворк, обобщенные задачи и новые возможности
Сокращает время, затрачиваемое на рутинные задачи, такие как проверка форм и безопасность
Легко настроить для лучшей производительности
Не требователен к ресурсам
Различные варианты кеширования
Простая интеграция сторонних библиотек и классов
Качественные инструменты безопасности
Поведения, хелперы, возможность расширения базового функционала и т.д.
Подходит для проектов любой сложности и масштаба

Минусы

Не очень гибкое формирование роутов
Слишком склеенные библиотеки для frontend'а с backend'ом

Порог входа: низкий, достаточно знать ООП и базы данных

Средний уровень зарплат Zend программистов: от 80 000 руб

13:35
512