блог
13
/04
/16

10 лучших PHP-фреймворков для веб-проектов

Русский

Выбор правильного фреймворка для проекта на PHP — первый шаг для его успешной реализации. Из нашей статьи вы узнаете о лучших PHP-фреймворках 2016 года.

PHP — наиболее популярный серверный скриптовый язык программирования. С тех пор как он появился, а произошло это в 1995 году, сложность веб-проектов возросла настолько, что уже нет смысла писать код для всего с нуля. Чтобы как-то структурировать процесс разработки, были созданы фреймворки. В этой статье мы сравним 10 самых популярных PHP-фреймворков, чтобы вы могли выбрать подходящий для своего проекта.

Преимущества PHP-фреймворков

Почему большинство разработчиков используют PHP-фреймворки? Это даже не вопрос предпочтений — они просто делают жизнь программистов намного легче. И вот как: фреймворки...

  • ускоряют процесс разработки;
  • помогают писать структурированный код, пригодный для повторного использования;
  • позволяют легко масштабировать проекты;
  • соблюдают схему MVC (Model-View-Controller, Модель-Представление-Контроллер);
  • поощряют современные практики разработки, например объектно-ориентированное программирование.

Но чем PHP-фреймворки отличаются друг от друга? Мы составили рейтинг лушчих PHP-фреймворков по версии компании «Культпросвет».

10

FuelPHP

FuelPHP — полноценный настраиваемый PHP-фреймворк, который поддерживает не только архитектуру MVC, но еще и HMVC (Hierarchical — иерархическая MVC). У него есть опциональный класс под названием Presenter (прошлое название — ViewModel) между слоями Controller и View, в котором содержится логика, необходимая для генерации представлений.

Фреймворк FuelPHP является модульным, его можно расширять. Во фреймворке уделено внимание вопросам безопасности: реализована фильтрация данных, вносимых пользователем, запросов, а также выводимых данных. У него есть свой фреймфорк авторизации и множество других продвинутых функций, а также довольно обширная документация.

9

Slim

Slim — микрофреймворк, идеально подходящий для небольших проектов или приложений, где полноценный фреймворк покажется лишним. Его используют многие PHP-разработчики для создания RESTful API и сервисов. Среди функций Slim — кэширование HTTP на стороне клиента, URL-маршрутизация, шифрование сессий и cookie, а также мгновенные сообщения по HTTP-запросам. Документация полная и сделана качественно.

8

Phalcon

Phalcon был создан в 2012 году и быстро стал популярным среди PHP-разработчиков. Его считают очень быстрым, так как он написан на C и C++, чтобы достигать наивысшего возможного уровня оптимизации производительности. Но не волнуйтесь, учить С не придется — вся функциональность заключена в PHP-классы, которые можно использовать для любых целей.

Так как Phalcon изначально был создан как расширение на С, его архитектура оптимизирована на низком уровне, что значительно снижает расходование ресурсов, типичное для приложений, основанных на схеме MVC. Phalcon не только повышает скорость выполнения, но и снижает уровень затрат ресурсов. У этого PHP-фреймворка есть и много других замечательных функций: универсальный автозагрузчик, менеджмент ресурсов, безопасность, перевод, кеширование и т. д. Документация для Phalcon довольна обширна, а использовать его несложно.

Интересный факт: еще в 2014 году Phalcon был вторым по популярности фреймворком, согласно данным sitepoint.com. А уже в 2015-м он заметно сдал позиции и переместился ближе к концу списка.

7

CakePHP

Фреймворку CakePHP уже десять лет, а он все еще в топе. Работе с ним легко обучиться, а шаблонирование — быстрое и настраиваемое. Встроенная функция CRUD очень помогает при взаимодействии с базой данных. В последнем релизе — CakePHP 3.x — улучшилось управление сессиями и модульность (они разъединили несколько компонентов), а также расширились возможности создания большего количества отдельных библиотек.

Среди проектов, реализованных на CakePHP, — сайты BMW и Hyundai. Выбирайте его, если вашему веб-приложению требуется высокий уровень безопасности, потому что функций для этого здесь предостаточно:

  • валидация ввода;
  • Защита от атак с использованием внедряемого SQL (SQL injection);
  • предотвращение межсайтового скриптинга;
  • защита от подделки межсайтовых запросов и многое другое.
6

Zend Framework 2

Zend Framework 2 — фреймворк с открытым исходным кодом, использующийся для разработки веб-приложений и сервисов на PHP 5.3+. Он использует на 100% объектно-ориентированный код и большинство новых функций PHP 5.3: пространства имен, позднее статическое связывание, лямбда-функции и замыкания. Zend — надежное решение со множеством вариантов конфигурации. Обычно его не рекомендуют использовать для небольших приложений, а вот для крупных проектов это самое то.

Среди функций Zend Framework 2: инструменты криптографического кодирования, простой в использовании drag-and-drop-редактор с поддержкой фронтенд-технологий (HTML, CSS, JavaScript), мгновенная онлайн-отладка, инструменты для unit тестирования , мастер конфигурации базы данных. Создатели этого фреймворка учли методологию Agile, что позволяет создавать высококачественные приложения для корпоративных клиентов.

В партнерах Zend — IBM, Microsoft, Google и Adobe. Год назад Zend объявил о следующем крупном релизе — Zend Framework 3, оптимизированном под PHP 7, но все еще поддерживающем PHP 5.5 и выше. Все ждали новинку еще осенью 2015-го, но и сейчас, в апреле 2016-го третьей версии все нет.

5

Yii 2

Выбирайте Yii, чтобы повысить производительность сайта. Он быстрее всех остальных PHP-фреймворков, так как использует технологию загрузки по требованию (lazy loading). Yii 2 полностью объектно-ориентированный и основан на принципе Don’t-Repeat-Yourself («не повторяйся»), так что основа для кода будет чистая и логичная.

Yii 2 интегрирован с jQuery и поставляется с набором AJAX функций. Механизмы скиннинга и выбора тем здесь просты, так что фреймворк понравится тем, кто ранее занимался фронтенд-разработкой. Здесь также есть мощный генератор исходного кода — Gii, который способствует объектно-ориентированному программированию и быстрому прототипированию, а также предоставляет веб-интерфейс, в котором можно интерактивно генерировать нужный код.

4

PHPixie

PHPixie — сравнительно новый фреймворк, созданный в 2012 году для сайтов-визиток. Как и FuelPHP, PHPixie поддерживает схему HMVC. Он построен на независимых компонентах, которые можно использовать даже без самого фреймворка. Модули компонентов PHPixie полностью протестированы и требуют минимум других компонентов для своей работы.

На официальном сайте PHPixie есть обучающее видео, в котором заявляют, что обучиться работе с фреймворком вы сможете всего за полчаса. В их блоге также много практический кейсов. Среди функций:работа с БД на уровне объектов (ORM), кеширование, валидация ввода, аутентификация и возможности для авторизации. Можно использовать язык разметки HAML, легко вносить изменения в структуру БД, а также есть продуманная система маршрутизации.

Интересный факт о PHPixie: согласно исследованию Sitepoint 2015 года, это любимый фреймворк украинских PHP-разработчиков. Компания «Культпросвет» тоже находится в Украине, но мы почему-то не можем поставить этот фреймворк на первое место, рука не поднимается. PHPixie также популярен среди группы респондентов до 18 лет. Мы думаем, это благодаря картинке с феечкой на сайте :D

3

CodeIgniter

CodeIgniter — PHP-фреймворк с десятилетним стажем и очень простым процессом установки, требующим минимальной конфигурации, так что начать будет просто. Хороший выбор, если есть риск конфликта разных PHP-версий: он идеально работает практически на всех платформах виртуального и выделенного хостинга.

CodeIgniter не совсем опирается на схему MVC. Использование контроллеров обязательно, а моделей и представлений — нет, так что можно применять собственные стандарты оформления кода и найменований. Этот фреймворк подойдет тем, кому тесно в рамках, — тут море свободы. По сути это простой фреймворк на 2 МБ, но при желании можно добавлять сторонние плагины, если требуется более сложная функциональность.

2

Symfony 2

Компоненты фреймворка Symfony 2 используются во многих замечательных проектах, например Drupal 8 CMS, phpBB и Laravel — (внимание, спойлер!) победителе нашего рейтинга. Symfony может гордиться обширным сообществом разработчиков и большим количеством преданных поклонников.

Компоненты Symfony — это PHP-библиотеки, которые можно использовать повторно и выполнять с их помощью множество задач: создание форм, конфигурацию объектов, маршрутизацию, аутентификацию, создание шаблонов и много чего еще. Любой компонент можно установить с помощью Composer -менеджера пакетов для PHP. А в разделе Showcase на сайте указаны проекты, выполненные с использованием этого фреймворка.

1

Laravel

И, наконец, наш победитель — фреймворк с самым красивым названием — Laravel! И мы такие не одни: респонденты недавнего исследования Sitepoint назвали этот фреймворк самым лучшим в 2015 году. Он довольно новый (создан в 2011-м), но вокруг него уже выросла впечатляющих размеров экосистема. Документация Laravel близка к совершенству, а все возможные кейсы тщательно разобраны в видеоуроках Laracasts.

У Laravel множество функций, обеспечивающих быструю разработку приложений. Есть свой движок для шаблонов Blade и элегантный синтаксис, который позволяет облегчить выполнение частых задач: аутентификация, сессии, анализ очередей, кеширование и маршрутизацию RESTful. Также у Laravel есть локальная среда разработки Homestead, которая по сути является надстройкой над Vagrant.

Сравнительная таблица PHP-фреймворков

 LaravelSymfony 2CodeigniterPHPixieYii 2Zend Framework 2CakePHPPhalconSlimFuelphp
требуемая
версия php
5.5.95.5.95.45.35.1.05.35.5.95.35.55.3.3
ТИПы
поддерживаемых
баз данных
MySQL Postgress SQLite SQL ServerMySQL
Postgress
SQLite
Qracle
MySQL
Postgress
MySQL
PostgreSQI
SQLite
MongoDB
MySQL
Postgress
Qracle
Sqlite
MySQL
SqLite
SQL Server Oracle Postgress
MySQL
SQLite Postgress
SQL server
Oracle
MySQL
SQLite Postgress
Oracle
MySQL
SQLite Postgress
Oracle (через
плагин
Slim-PDO)
MySQL
SQLite Postgress
Облачное
хранилище
Amazon S3
Rackspace
Amazon S3
(плагин)
Amazon S3
(плагин)
-Amazon S3Amazon S3
Rackspace
Windows Azure
Amazon S3
(плагин)
Amazon S3
(плагин)
-Amazon S3
(плагин)
документация на
официальном
сайте
Пошаговое
руководство,
справка по API, видеоуроки
Пошаговое
руководство,
справка по API
Небольшое
пошаговое
руководство,
справка по API
Пошпговое
руководство
Пошаговое
руководство,
справка по API
Пошаговое
руководство,
подробная справка
по API с
комментариями
пользователей
Пошаговое
руководство,
справка по API
Пошаговое
руководство,
справка по API
Пошаговое
руководство,
справка по API
Пошаговое
руководство
Автоматическая
установка
расширений
(через composer)
ДаДаВ ядре нет: только
через сторонние
библиотеки
ДаДаДаДаНетНетНет

We use Laravel to develop the backend for mobile apps, create websites backend, APIs, custom applications for startups, etc. And we truly believe it is the best framework for PHP development so far. It makes the code cleaner and clearer. Hire us and you will see how your project will shine with Laravel and our efforts!