Путеводитель по популярным PHP-фреймворкам для начинающих

Как PHP-разработчик с многолетним опытом работы, мне приходилось иметь дело с различными фреймворками. Недавно мне пришла в голову идея написать статью для новичков, которые хотят начать изучать PHP. Ниже приведен краткий обзор наиболее популярных фреймворков, основанный на моем личном опыте.
Для сравнения были выбраны следующие фреймворки: Yii, Laravel, Symfony, Zend, CakePHP, CodeIgniter.
Сравнение фреймворков производилось по следующим критериям:
- Простота и установка
- Документация
- Гибкость
- Совместимость с PSR
- Проектные заявки
Yii 2
Высокопроизводительный PHP-фреймворк, предназначенный для быстрой разработки приложений. Он поможет реализовать малые, средние и крупные проекты такие, как блоги, корпоративные сайты, интернет-магазины, порталы, CMS, RESTful и другие.
- Как и большинство фреймворков, Yii использует шаблон MVC (Модель — Представление — Контроллер).
- В него заложено множество готовых к использованию и проверенных инструментов, систем, RESTful API, ActiveRecord для реляционных и NoSQL баз данных, поддержка многоуровневого кеширования, а также многое другое.
- Легко апгрейдится. Есть возможность написать собственные модули или расширения и расширить функциональные возможности фреймворка.
- Одна из отличительных особенностей Yii — его высокая производительность, хотя он является довольно массивным фреймворком.
- Фреймворк имеет Gii — генератор исходного кода, который ускоряет разработку проекта.
Установка
Для использования Yii2 на ПК, должен быть установлен язык программирования PHP (версия 5.4 или выше). Вы можете использовать Composer для установки Yii2.
Фреймворк предлагает два шаблона приложения на выбор: базовый и расширенный. Вы должны выбрать, какой из двух вариантов вам нужен.
Документация
Этот фреймворк имеет довольно простую инструкцию по эксплуатации.
Гибкость
Фреймворк позволяет расширить свои функциональные возможности. Новые модули и плагины могут быть установлены с помощью Composer. Вы также можете создавать свои собственные расширения.
PSR
Фреймворк соответствует второй версии стандартов PSR, PSR-2.
Где можно использовать данный фреймворк?
Он может быть использован в любом проекте — от простых веб-программ до RESTful, обширных порталов, CMS и многих других.
Laravel
Ларавел это фреймворк, который позволит красиво написать код. Он также поможет облегчить ряд следующих задач: регистрация, маршрутизация, кэширование и работа с сессиями. Laravel взял лучшее с других PHP фреймворков и Ruby on Rails.
Laravel представляет собой простой, мощный и гибкий инструмент для создания крупных проектов, даже для начинающих.
- Имеет великолепный IoC
- Простая и удобная система миграции
- Модульная система тестирования
Установка
Для использования Laravel, должен быть установлен язык программирования PHP (версия 5.5.9 или выше). Вы можете использовать Composer и Laravel Installer для установки.
Установка простая и быстрая. После инсталляции, вы получите «скелет» программы для создания своего проекта.
Документация
Фреймворк имеет довольно простое и доступное руководство.
Гибкость
Фреймворк позволяет расширить функциональные возможности. Новые модули и плагины могут быть установлены с помощью Composer.
PSR
Фреймворк соответствует второй версии стандартов PSR, PSR-2.
Где можно использовать данный фреймворк?
Он является оптимальным выбором для создания малых и средних проектов. Его также можно использовать для разработки крупномасштабных веб-сайтов.
Symfony 2
Так же как и Yii, данный фреймворк может быть использован для создания любого проекта. Его можно назвать довольно большим и сложным для начинающих. Функциональные возможности Symfony соответствуют современным требованиям. Используется в обширных проектах. Drupal CMS также базируется на Symfony.
Установка
Для использования Symfony 2, должен быть установлен язык программирования PHP (версия 5.4 или выше). Вы можете использовать Composer и Symfony Installer для установки.
Установка простая. При установке Symfony, у вас есть возможность выбрать свой тип программы и соответствующая «скелет» будет создана на основе вашего выбора. У вас есть возможность выбрать одну из четырех сборок:
- Standard Edition устанавливается по умолчанию
- Hello World Edition предназначено для создания тестов
- Symfony CMF Standard Edition позволяет добавлять функциональность CMS
- Symfony REST Edition подходит для организации RESTful API сервера
Документация
По сравнению с Yii 2 и Laravel, руководство данного фреймворка показалось мне более сложным.
Гибкость
Фреймворк позволяет расширить функциональные возможности. Новые модули и плагины могут быть установлены с помощью Composer. Вы также можете создавать свои собственные расширения.
PSR
Фреймворк соответствует второй версии стандартов PSR, PSR-2.
Где можно использовать этот фреймворк?
Он может быть использована в любом проекте: начиная от простых веб-программ до RESTful, обширных порталов, CMS и других проектах.
Zend Framework 2
Zend Framework 2 представляет собой свободный фреймворк на PHP, созданный разработчиками Zend. В настоящее время компания занимается разработкой языка программирования PHP. Этот фреймворк имеет много функциональных возможностей, а также основывается на принципах MVC / OOP (объектно-ориентированное программирование), что позволяет использовать его в крупных проектах.
Установка
Этот фреймворк может быть установлена с помощью Composer. Готовая структура программы может быть взята из скелетного приложения Zend.
Документация
Фреймворк имеет довольно простые и подробные инструкции.
Гибкость
Фреймворк позволяет расширить свои функциональные возможности. Новые модули и плагины могут быть установлены с помощью Composer.
PSR
Вторая версия фреймворка соответствует PSR-2.
Примечание
Вторая версия Zend Framework, работает довольно медленно и требует больше усилий, чтобы завершить проект. Поскольку это академический фреймворк, все правила для разработки программы заданы. Этот фреймворк не для начинающих.
Где можно использовать данный фреймворк?
В основном он может быть использован для крупномасштабных проектов.
CakePHP 3
CakePHP 3 представляет собой свободный фреймворк на PHP и включает в себя готовые коды для быстрой разработки программ. Реализует паттерн MVC. CakePHP является объектно-ориентированным фреймворком, который имеет довольно много функциональных возможностей, работает быстро и имеет высокую эффективность.
Установка
Чтобы использовать CakePHP, вам нужно иметь PHP версии 5.5.9 или выше. Вы можете установить фреймворк с помощью Composer. После установки получаете готовый «скелет» и может создать своё веб-приложение на его основе. Установка, как правило, простая и быстрая.
Документация
Фреймворк имеет довольно простое и всеобъемлющее руководство.
Гибкость
Фреймворк позволяет расширить свои функциональные возможности. Новые модули и плагины могут быть установлены с помощью Composer.
PSR совместимость
Третья версия этого фреймворка соответствует PSR-2.
Примечание
Последняя версия CakePHP, CakePHP 3 является довольно гибкой и обладает большей эффективностью, чем предыдущая.
Где можно использовать этот фреймворк?
Его можно быть использована практически для любого проекта, начиная от простых веб-программ до REST программ и порталов.
CodeIgniter
Ещё один свободный фреймворк. Хотя, он не предназначен для крупных проектов. Этот фреймворк считается умирающим, так как новые версии и функциональные возможности редко обновляются.
Доступен шаблон MVC. CodeIgniter позволяет работать с несколькими базами данных, такими как MySQL, PostgreSQL, Oracle и многими другими. Имеет четкие и подробные инструкции. Кроме того, требуется меньше времени, чтобы разработать программу в этом фреймворке.
Рекомендую данный фреймворк для начинающих, чтобы облегчить процесса обучения.
Установка
Для того чтобы установить этот фреймворк вам нужно будет загрузить и восстановить из архива фреймворк файлы. Установка фреймворка с помощью Composer невозможна.
Документация
Инструкции данного фреймворка не такие простые. Чтобы найти нужные разделы, понадобится в два раза больше времени, чем в случае с другими фреймворками.
Гибкость
Фреймворк не позволяет расширить функциональные возможности с учетом современных технологий.
PSR
Не совместим со стандартами PSR.
Примечание
Это простой фреймворк, который работает быстро. Тем не менее, я считаю, что вымирает.
Где можно использовать данный фреймворк?
Я Не советую использовать его в коммерческих целях, только для облегчения изучения.
Скорость, эффективность и ресурсосбережение фреймворков
Тестирование этих шести фреймворков проводилось на одном и том же компьютере, в одних и тех же условиях. Apache Benchmark был установлен в качестве инструмента тестирования. Компьютер, на котором проводили тестирование имеет следующие характеристики: Intel Core i5, 8 Гб DDR3, SSD SATA3, Ubuntu 14.04 LTS, Apache 2.4, PHP 5.5.
Количество запросов в секунду, которое способны обработать сравниваемые фреймворки.
Какой фреймворк стоит изучать?
Фреймворки CodeIgniter и CakePHP медленные, и CodeIgniter не соответствует действующим требованиям. Таким образом, эти инструменты не стоит изучать на данном этапе.
Yii2, Laravel, Zend и Symfony на данный момент соответствуют современным стандартам и требованиям. Они пользуются спросом и имеют огромную функциональность. Для изучения этих фреймворков, вы должны иметь представление о MVC, хорошо знать PHP, включая ООП, и уметь работать с базами данных. Новичкам лучше начинать с освоения Laravel и Yii, а не Symfony или Zend.