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

An illustration of a person from behind looking at a row of hanging aprons in a closet. An illustration of a person from behind looking at a row of hanging aprons in a closet.

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

Почему используют 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, научу строить проекты любого масштаба и подскажу как искать интересные проекты на Yii2, и перейти полностью на удаленную работу. Записаться

Yii2 framework

Плюсы

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

Минусы

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

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

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