Популярные фреймворки

-------Symphony------

Это высокопроизводительный фреймворк, написанный на PHP. Фреймворк основан на базе паттерна Model-View-Controller и в его архитектуре очень активно используются другие паттерны объекто‑ориентированного программирования.

Symfony 2 работает с версией PHP не ниже 5.3.2. Имеет поддержку множества баз данных. Информация о реляционной базе данных в проекте должна быть связана с объектной моделью при помощи ORM инструмента. Базовая версия Symfony поставляется с двумя ORM: Propel и Doctrine.

Преимущества:

  • Есть встроенный шаблонизатор
  • Встроенные функции безопасности
  • Есть встроенный компонент форм
  • Обеспечивает поддержку интернационализации

Недостатки:

  • Сложный для новичков
  • Сложная архитектура с большим количеством компонентов
  • Большое потребление памяти
  • Медленный процесс разработки
  • Высокая стоимость разработки и сопровождения

------Laravel------

Это бесплатный PHP-фреймворк с открытым исходным кодом, специально разработанный для создания сайтов и веб-приложений. Позволяет упростить аутентификацию, маршрутизацию, сессии, кэширование, архитектуру приложения, работу с базой данных. Фреймворк основан на базе паттерна Model-View-Controller. В нем есть ORM Eloquent, совместимый с ним конструктор для быстрого построения запросов Fluent, а также шаблонизатор Blade.

Преимущества:

  • Удобный синтаксис
  • Множество встроенных инструментов
  • Встроенные функции безопасности
  • Простая интеграция со сторонними библиотеками

Недостатки:

  • Сложный для новичков
  • Плохая производительность у сложных приложений
  • Ограниченная поддержка старых версий PHP

------Yii2------

Это компонентный объектно-ориентированный фреймворк для веб-разработки на PHP, реализующий парадигму Model-View-Controller. Его название расшифровывается как Yes it is. Один из разработчиков фреймворка — россиянин Александр Макаров, поэтому Yii2 популярен в России и странах СНГ. В данном фреймворке присутствует два подготовленных шаблона, для создания простых и сложных проектов, что позволяет быстро начать разработку проекта.

Преимущества:

  • Высокая производительность
  • Удобный интерфейс
  • Активное сообщество
  • Расширенные функции безопасности
  • Хорошая поддержка AJAX

Недостатки:

  • Отсутствие готовых компонентов для проекта
  • Устаревшие инструменты разработки
  • Сложный механизм работы с моделями данных
  • Недостаточные возможности для интеграции с третьими приложениями