Какой PHP-фреймворк выбрать для изучения? Современный PHP без фреймворков Какой php фреймворк выбрать.

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

Путем использования PHP-фреймворков, разработчики смогут значительно сократить время разработки, избегая необходимости программировать с нуля. Без правильно обозначенного PHP-фреймворка трудно управлять кодом. РНР действует на основе MVC (модель-представление-контроллер), которая представляет собой архитектурный образец доступный на языках программирования, создавая мост между логикой предметной области и пользовательским интерфейсом. Задача логики предметной области является работа с возможностью управления обменом информацией между базой данных и пользовательским интерфейсом. Это упрощает весь процесс.

Вот список 42 лучших PHP-фреймворков, которые вы можете использовать в 2017 году.

Фреймворк Laravel имеет выразительные и аккуратные правила языка, что заставляет веб-приложения выделяться на фоне остальных. Этот фреймворк был создан для того, чтобы разработчики имели бесплатный, с открытым исходным кодом PHP-фреймворк для веб-приложений. Добавляют популярности этому фреймворку определенные функции, такие как сильные строительные инструменты, большие сильные приложения, с особым контейнером управления инверсиями, коммуникативная структура миграции и тесно внедренная программа тестирования технического обслуживания.

Будучи весьма популярным PHP-фреймворком среди экспертных разработчиков, Symfony используется для разработки отличных веб-сайтов и приложений с помощью различных профессиональных и творческих методов. Это мощный фреймворк, помогающий уменьшить проблемы повторяющихся структур кодирования. Кроме того, он гарантирует стабильную платформу, что делает его одним из самых востребованных PHP-фреймворков по всему миру.

Считаясь гибкой, Сodeigniter является открытым программным обеспечением PHP, который сумел добиться признания за свое классическое исполнение. На самом деле, он имеет возможность поддержки следующего поколения разработки приложений, которое требует упрощенного кодирования. Это значит, что не будет каких-либо ограничений в процессе кодирования и не потребуется сложной конфигурации, чтобы заставить фреймврк работать. В двух словах, прелесть Сodeigniter заключается в предоставлении простых решений сложных проблем программирования для создания веб-приложений.

Это быстрый, безопасный и экспертный PHP-фреймворк, который предоставляет весомую помощь кэширования и создан для того, чтобы грамотно работать с AJAX. Несомненно, быстрые решения разработки фреймворка, делает его очень легким для разработчиков при создании приложений в короткие сроки. Прекрасно разработанные с качественным документированием в сжатые сроки, приложения, созданные с использованием Yii Framework, предоставляют удивительный пользовательский опыт и особенности.

Конечно, попадая в разряд мощных фреймворков, Cake PHP 3.0 является одним из самых важных PHP-фреймворков, которому доверяют разработчики. На протяжении многих лет он был обновлен импровизированными сессиями управления, усовершенствованиями на основе ORM и многое другое. Платформа также предлагает решения для создания автономных библиотек с бесконечной поддержкой повышения модульности.

Рассматриваемый, как full-stack фреймворк, эта структура PHP написана с использованием языков C и C++. Эти языки добавлены к фактору производительности Phalcon. Благодаря своим инновационным возможностям, Phalcon быстро стал одним из самых популярных фреймворков для создания веб-приложений.

Еще один выдающийся PHP-фреймворк. Абсолютно инновационный, безопасный и предлагающий гибкость фреймворк, в котором нуждаются кодеры для создания веб-приложений. На протяжении многих лет, Zend был использован в крупных корпоративных проектах. Будучи открытым программным обеспечением, этот фреймворк требует применения объектно-ориентированного кода для разработки веб-приложений. В сочетании с сильным механизмом стандартной библиотеки, Zend предлагает высокую производительность с реализацией MVC, подтверждая свой статус влиятельного и гибкого фреймворка.

Это сборник высококачественных, полностью проверенных, отдельных библиотек, которые могут быть грамотно использованы в любом типе структур кодирования. Он специально предназначен для тех, кто верит в чистый кодинг, полностью отделенные библиотеки и самоуправляющиеся наборы. Сборник также предлагает тривиальные, тщательно провереные и стандартные структуры.

Это легкий, маневренный, управляемый сообществом PHP 5.3+ фремворк, который опирается на лучшие идеи из других структур. Популярный как модель презентации, Fuel PHP пропитан дополнительными функциями между контроллерами. Это мощный, профессиональный и отзывчивый фреймворк PHP, который помогает создавать невероятные сайты.

Разработчики PHP, которые ищут упрощенный PHP-фреймворк, выбирают PHPixie, потому что он функционирует на платформе шаблона MVC, помогая разработчикам создавать приложения за короткий промежуток времени. Это несложный в изучении и безукоризненно выполняющий создание качественных веб-приложений инструмент. Кроме того, он предлагает прочную основу для разработки. Требующий меньшей конфигурации и простой в использовании, фреймворк будет все более и более популярным в ближайшие дни.

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

Созданный, как облегченный фреймворк, Slim – это микро-фреймворк, который позволяет быстро создавать легкие и мощные веб-приложения. Он имеет надежный маршрутизатор, шаблон с изображениями, http-кэширование, флэш-сообщения, защищенные куки с AES-256 шифрованием, ведение журнала, обработка и отладка ошибок, а также несложные конфигурации.

Flight - это распространенная микро структура, предназначенная для PHP-разработчиков, и известная как быстрый, легкий и гибкий фреймворк. Лучшей частью фреймворка является то, что он позволяет разработчикам быстро и легко создавать мощные веб-приложения. Он требует наличие PHP 5.3+.

Medoo - это самый легкий и легкоуправляемый PHP-фреймворк, используемый, чтобы ускорить процесс веб-разработки. Он занимает всего лишь 13kb пространства в одном файле. Этот фреймворк чрезвычайно прост в освоении и реализации, совместимый с различными SQL базами данных, такими как MySQL, SQLite и СУБД MSSQL, Maria DB, Oracle, Postgre SQL, Sybase и другие. Платформа предоставляется бесплатно по лицензии MIT. Medoo - это большое облегчение для тех разработчиков, которые не хотят запутаться в управлении сложными требованиями кодирования.

Дизайн фреймворка POP PHP весьма тяжелый, но простой в использовании с эффективным API. Он требует наличие PHP 5.3+ и сумел при этом сохранить свой минимализм и легкий характер. Хотя были добавлены многие новые функции, он по-прежнему может использоваться исключительно в качестве инструмента, или в качестве основы ваших приложений.

Это мощный помощник разработчикам в создании лучших сайтов. Он использует радикальные технологии, которые устраняет дыры в безопасности и их неправильное обращение, как в XSS, а также записи сессии. Фреймворк имеет сильные инструменты отладки, которые помогают в обнаружении ошибок.

Будучи мощным и простым в использовании микро-фреймворком, Fat-free был создан Bong Cosca в 2009 году. Действительно, это один из самых легких фреймворков в весом меньше, чем 50 кб. Он был создан почти полностью на PHP с такими функциями, как URL-маршрутизатор, поддержка многоязычных приложений и двигатель кэш. Существует множество плагинов для обширной базы данных серверных операций, таких как MSSQL, MySQL, PostgreSQL, SQLite, Sybase, MongoDB, DB2, CouchDB и Flat File.

Продолжение следует…

На дворе 2016 год, а это значит, что императивный стиль уже не в моде. «Нормальные люди так не пишут», - скажет любой современный разработчик на крупном проекте и будет прав.

И если вы всё ещё с ним не согласны, то пришло время обновить свои знания: современные методологии, как-то MVC или ООП, очень сильно упростят жизнь как вам, так и вашим коллегам. И сполна все эти штуки реализует ещё одна must-have в 2016 вещь - PHP-фреймворки.

Давайте рассмотрим их более подробно и разберемся, какой стоит выбрать именно вам.

Laravel

Один из самых популярных PHP-фреймворков, обладающий выразительным и элегантным синтаксисом. Он позволит максимально упростить решение основных и самых наболевших задач, таких как аутентификация, маршрутизация, сессии и кэширование. Laravel создавался как попытка объединить только все лучшее, что есть в других PHP-фреймворках, а также Ruby on Rails, ASP.NET MVC и Sinatra. Одно из самых важных его достоинств - наличие интегрированной системы модульного тестирования.

Zend

Написанный полностью в объектно-ориентированном стиле фреймворк, использующий все последние новшества PHP. Разработан с минимальными зависимостями от других компонентов, каждый из которых можно использовать отдельно; тем не менее, стандартный набор библиотек делает его очень мощным и легко расширяемым средством разработки. Кроме того, он предлагает надежную и высокопроизводительную реализацию MVC и удобную в использовании абстракцию базы данных, а также множество других возможностей, которые в сумме делают его одним из самых функциональных фреймворков.

CakePHP

CakePHP - написанный на PHP программный каркас для создания веб-приложений, обладающий активным и быстрорастущим сообществом. Как и большинство других фреймворков, реализует паттерн MVC. Изначально он создавался как клон популярного Ruby on Rails, и многие его идеи были заимствованы именно оттуда. От своих конкурентов отличается тем, что поддерживает не только PHP5, но и PHP4.

Code Igniter

Пожалуй, наиболее простой в освоении и использовании фреймворк. Легко расширяется, безопасен и использует простые и понятные подходы, одним словом - идеален для новичков. Одно из других его преимуществ - скорость работы, этот фреймворк куда быстрее справляется с задачей работы с БД, чем другие его собратья.

Kohana

Kohana, ранее Blue Flame - это PHP5 веб-фреймворк с открытым кодом, который использует архитектурную модель HMVC. Его цели - быть безопасным, легким и простым в использовании.

Электронный журнал для веб-разработчиков PHP Inside признал Kohana «выбором редакции … за архитектуру, быстроту и сообщество».

Kohana является форком известного фреймворка Code Igniter и во главе ставит строгое соответствие PHP 5 ООП и прозрачную модель разработки.

Symfony

Состоящий из множества компонентов и написанный на PHP5 фреймворк, использующий паттерн Model-View-Controller. Предлагает быструю разработку и управление веб-приложениями, позволяет легко решать рутинные задачи веб-программиста. Одно из основных его достоинств - поддержка множества баз данных (MySQL, PostgreSQL, SQLite или любая другая PDO-совместимая СУБД).

Yii

Высокопроизводительный PHP-фреймворк, использующий паттерн MVC и предназначенный для быстрой разработки современных web-приложений. Его возможности позволяют в сжатые сроки реализовывать крупномасштабные проекты типа форумов, порталов, CMS, RESTful web-сервисов и других сложных систем. В него уже заложено множество проверенных и готовых к использованию решений: конструктор запросов, ActiveRecord для реляционных и NoSQL баз данных, RESTful API, многоуровневая поддержка кэширования и многие другие.

PHP - наиболее популярный в мире серверный скриптовый язык. Он прошел большой путь развития от небольших, встраиваемых в код статических HTML страниц, снипетов, до современного языка, на котором разрабатывается большинство современных динамических сайтов.

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

Зачем использовать фреймворк
Но прежде чем приступить к обзору 10 фреймворков, которые мы тщательно отобрали и заботливо проанализировали для Вас, давайте поясним, для чего же они собственно нужны и какая от них польза.
Все дело в том, что использование фреймворков:
  • Существенно сокращает сроки разработки
  • Позволяет писать хорошо структурированный, хорошо документированный и повторно используемый код
  • Позволяет создавать масштабируемые, легко расширяемые приложения
  • Скрывает от разработчика необходимость заботиться о низкоуровневой безопасности сайта
  • Стимулирует следовать проектирования MVC (Модель-Представление-Контроллер), позволяющему разделить логику приложения и представление данных
  • Способствует применению современных методов программирования, в первую очередь объектно-ориентированного.

Laravel

Несмотря на свою молодость (первый релиз вышел в 2011 году), это уже совершенно зрелый продукт, и, согласно опросу, проведенному порталом SitePoint, он занимает первое место по популярности среди разработчиков на PHP.

Сейчас Laravel - это огромная экосистема, включающая хостинг и платформу для развертывания приложений. Он имеет собственный обработчик «Blade», элегантный синтаксис, упрощающий выполнение рутинных операций, таких как , управление сессиями, очередями, кэшированием и маршрутизацией. Кроме того, Laravel содержит локальную среду разработки Homestead, являющуюся частью пакета Vagrant.

В своих проектах мы регулярно используем именно Laravel. Огромным плюсом является то, что существует , где переведена практически вся техническая документация.

Symfony

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

Symfony Components - это набор PHP библиотек, способных удовлетворить самые разные потребности разработчика, будь то создание форм , маршрутизация, авторизация, разработка и многое другое. На сайте разработчиков есть внушительное портфолио проектов, выполненных с помощью этого фреймворка.

CodeIgniter

Легковесный фреймворк с давней историей (первый релиз вышел в 2006 году). Традиционной его особенностью является исключительно легкий и быстрый процесс установки, и практически полное отсутствие необходимости в конфигурации. Это идеальный выбор, если хотите избежать конфликтов с версиями, поскольку работает практически на всех доступных платформах (в настоящее время требует только PHP 5.2.4)

CodeIgniter не в полной мере следует парадигме MVC - если уровень Контроллер является обязательным, то уровни Модели и Представления опциональны. Разработчик может использовать собственные правила кодирования и соглашения об именах, что, несомненно, предоставляет ему большую свободу. Ядро фреймворка имеет незначительный объем (около 2Мб), но функциональность можно расширить за счет плагинов от других разработчиков.

Yii 2

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

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

Phalcon

Этот фреймворк впервые появился в 2012 году и быстро приобрел популярность среди разработчиков. Он достигает высочайшего быстродействия за счет того, что написан на С/С++ , что и нашло отражение в его названии (Phalcon созвучно англ. falcon - сокол). Однако не беспокойтесь - Вам не придется погружаться в С/С++, поскольку вся функциональность реализована в виде PHP классов .

Phalcon достаточно хорошо оптимизирован на уровне ядра, что значительно повышает быстродействие и снижает нагрузку по сравнению с типичными MVC приложениями, а его базовая функциональность дополняется множеством полезных надстроек, таких как универсальный автозагрузчик, менеджер ресурсов, механизм кэширования и локализации и многие другие. Кроме того Phalcon снабжен прекрасной документацией, так что он относится к той категории продуктов, которые, несомненно, стоит попробовать.

CakePHP

История развития CakePHP насчитывает уже 10 лет (первый релиз вышел в 2005 году), но он до сих пор остается очень популярным, поскольку активно развивается и идет в ногу со временем. Последняя версия этого фреймворка, CakePHP 3.0, содержит переработанный менеджер сессий, улучшенную, за счет разделения некоторых компонентов, модульность, и возможность создания самостоятельных библиотек.

На домашней странице проекта представлено внушительное портфолио этого фреймворка - с его помощью созданы сайты таких крупных корпораций, как BMW, Hyundai и Express. Это отличный инструмент для разработки приложений, во главу угла которых ставится безопасность. Проверка вводимых данных, защита от внедрения SQL кода, межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) - все это присутствует в CakePHP

Zend Framework

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

Впрочем и текущий релиз Zend Framework 2 имеет множество замечательных функций, таких как инструменты для шифрования, удобный редактор, поддерживающий drug and drop и front-end технологии (HTML, JavaScript), полноценный online дебагер, модули для тестирования и подключения к базам данных. Zend Framework создавался с учетом методологии разработки Agile и предназначен для разработки высококачественных приложений корпоративного уровня.

Slim

Slim - PHP микрофреймворк, созданный по принципу «в нем есть все, что Вам нужно. Если в нем чего-то нет, то Вам это не нужно». Минималистический фреймворк, хорошо подходит для создания небольших приложений, для которых использование полноценного фреймворка было бы излишеством. На его создание автора вдохновил написанный на Ruby фреймворк Sinatra.

Slim широко используется разработчиками для создания RESTful API и сервисов. Он обладает такими функциями, как URL маршрутизация, управление кэшем на стороне клиента, шифрование cookies и сессий и поддержкой «flash» сообщений через HTTP-запрос. Slim снабжен прекрасной документацией, а в грядущий третий релиз Slim добавлены новые функции.

FuelPHP

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

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

PHPixie

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

На официальном веб-сайте можно найти обучающий курс, который, по заявлениям разработчиков, позволит освоить PHPixie всего за 30 минут. Среди других компонентов фреймворка следует отметить собственную ORM (object-relational mapping), механизм кэширования, валидатор вводимых данных, систему авторизации, встроенный язык разметки HAML и замечательный модуль маршрутизации.

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

Чтобы облегчить процесс разработки сайтов, программисты стали повторно использовать куски кода, группируя их в различные модули и компоненты, и объединяя в специальные наборы готовых инструментов, которые получили название - фреймворки.

Фреймворк (framework) - готовый каркас с набором модулей, компонентов, расширения для быстрой, простой и качественной разработки программ.

PHP фреймворки позволяют:

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

В данной статье вы увидите список самых популярных PHP фреймворков с плюсами и минусами. Для сравнения инструментов разработки были выбраны следующие PHP фреймворки:

  • Laravel
  • Symfony
  • Zend Framework
  • Codeigniter

И так, поехали!

Laravel

Laravel - это бесплатный PHP фреймворк с открытым исходным кодом, созданный Тейлором Отвеллом для разработки веб-приложений по архитектурному шаблону MVC.

Можно сказать, что на появление Laravel повлияли остальные PHP фреймворки.

Он был создан как альтернатива фреймворку Codeigniter (о нем будет рассказано ниже), в котором было недостаточно полезных функций для разработки веб-приложений. В качестве основы Laravel выступают компоненты другого фреймворка - Symfony (о нем также, будет рассказано ниже).

Фреймворк Laravel очень популярен среди западных разработчиков веб-приложений.

С помощью менеджера пакетов Composer, фреймворк Laravel позволяет легко устанавливать и подключать различные компоненты для использования в веб-приложении.

Реализация шаблона ActiveRecord - Eloquent ORM, позволяет установить отношения между объектами базы данных веб-приложения и выстраивать удобные запросы для манипуляции данными.

Механизм автозагрузки классов позволяет не подключать вручную файлы через include и предотвращает загрузку не используемых компонентов.

Удобная система миграций помогает упростить развертывание и обновление веб-приложения.

В Laravel есть встроенная поддержка движка шаблонов Blade, с помощью которого можно делать простые представления веб-приложения используя специальный синтаксис.

При создании приложения можно использовать Artisan - интерфейс командной строки для ввода встроенных команд, а также создания своих собственных.

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

Из подобных функций можно отметить dd() - удобный аналог стандартной функции PHP var_dump(). Функция выводит информацию переменной в более понятной форме, разделяя данные на дерево атрибутов и значений, в возможностью поиска и перехода по ним.

Плюсы

  • Достаточно неплохая и понятная документация.
  • Вокруг фреймворка создана мощная экосистема. Различные курсы, конференции, обучающие материалы позволяют собрать вокруг фреймворка большое количество разработчиков и спонсоров, которые заинтересованы в развитии инструмента и принимают в этом участие. Да, здесь чувствуется запах маркетинга, и неплохой.
  • Одним из самых очевидных плюсов Laravel, является гибкая система маршрутизации, позволяющая составить самые разные проверки маршрута веб-приложения. Вы можете выделить маршруты в специальные группы, использовать пространство имен, указать параметры маршрута, использовать регулярные выражения, настроить поддоменную маршрутизацию и многое другое.
  • В Laravel много синтаксического сахара. Синтаксис API фреймворка достаточно простой и понятный. Здесь нет длинных и сложных конструкций, а только краткие и продуманные названия функций.
  • Laravel содержит удобный механизм обработки ошибок и исключений.
  • Фреймворк включает в себя встроенные механизмы аутентификации и авторизации пользователей, которую можно перенастроить под свои потребности.
  • Laravel предоставляет из коробки механизмы для кэширования веб-приложения с помощью Memcached и Redis. Кроме этого есть удобные функции для использования простого файлового кэширования данных.
  • Laravel предоставляет чистый и простой API поверх популярной библиотеки SwiftMailer с драйверами для SMTP, Mailgun, SparkPost, Amazon SES и sendmail, чтобы сделать отправку почты через локальную или облачную службу по выбору. В том числе есть механизм для построения очередей отправки почты.
  • Laravel Cashier обеспечивает выразительный, свободный интерфейс к сервисам биллинга по подписке Stripe и Braintree.

Минусы

  • Для русскоязычных разработчиков, без знания английского языка или его слабым знанием, к минусам фреймворка можно отнести довольно небольшое количество статей, примеров кода, переводов официальной документации. Для тех, кто знает английский на уровне чтения технической документации, данный минус можно опустить.
  • Синтаксический сахар в Laravel как плюс, так может быть и минусом. Очень легко привыкнуть к нему и позабыть, как пишутся чистые запросы и функции.
  • Нарушение обратная совместимости между версиями фреймворка.
  • Не логичное расположение каталогов и файлов. Например, по умолчанию в прямо в каталоге /app расположена модель User.php, которую логичней было бы расположить в каталоге /app/Models. Каталог resources с файлами представления размещен в корне приложения, хотя логичней будет его разместить в /app/resources.

Yii фреймворк

Yii - это бесплатный объектно-ориентированный компонентный full-stack PHP фреймворк. В основе Yii лежит другой фреймворк - PRADO, написанный на ASP.NET и впоследствии перенесенный на PHP. Вскоре после построения новой архитектуры, фреймворк PRADO был переименован на Yii. Название фреймворка является аббревиатурой слова «Yes It Is!». Прародителем фреймворка является китайский разработчик Qiang Xue.

Yii можно использовать для разработки любого вида веб-приложений. Благодаря своей основе компонентов, архитектуре и сложной поддержки кэширования, фреймворк подходит для разработки крупномасштабных проектов, таких как порталы, форумы, системы управления контентом (CMS), систем электронной коммерции, RESTful веб-сервисов и т.д.

Yii реализует для использования MVC (Model-View-Controller) архитектурный шаблон и способствует организации кода на основе этого шаблона.

Yii является full-stack фреймворком, предоставляя множество проверенных и готовых к использованию функций: построитель запросов и ActiveRecord для реляционных и NoSQL баз данных, RESTful API, поддержку многоуровневого кэширования и т.п.

Yii чрезвычайно расширяемый фреймворк в котором можно заменить почти каждый кусочек кода и разрабатывать нужные расширения.

Yii предоставляет Gii - визуальный интерфейс для автоматической генерации контроллеров, моделей и отображений.

Минусы

  • Слабая экосистема вокруг фреймворка среди англоязычного сегмента разработчиков. Сообщество слишком сильно размазано по разным местам: несколько форумов с небольшой активностью, stackoverflow и т.п.
  • Хоть фреймворк и позволяет делать код простым, но далеко не элегантным. Если его синтаксис сравнивать с фреймворком Laravel, то он уступает.
  • Yii отстает от языка, стандартов и других фреймворков. Новые обновления с действительно полезными функциями выходят не так часто.
  • Слишком большая связанность backend и frontend частей Yii2. Фреймворк предлагает использовать библиотеку jQuery и Bootstrap, которые встроены по умолчанию в ядро фреймворка. Этот минус планируется исправить в новой версии фреймворка Yii 3, сделав его компоненты менее связанными.
  • Не очень гибкая система маршрутизации: нет возможности сгруппировать роуты.

Symfony

Symfony - свободный PHP фреймворк для быстрой разработки веб-приложений и решения рутинных задач веб-программистов. Разработка и поддержка фреймворка спонсируется французской компанией Sensio.

Symfony состоит из набора не связанных между собой компонентов, которые можно использовать повторно в проектах.

С помощью Symfony было разработано множество крупных проектов:

  • систем управления контентом: Magento, Drupal, Opencart
  • сервис социальных закладок Delicious
  • французский видеохостинг Dailymotion
  • движок форума phpbb

В том числе, Symfony повлиял на разработку фреймворка Laravel, где были задействованы его компоненты.

Symfony позволяет устанавливать сторонние пакеты, библиотеки, компоненты и настраивать их с помощью конфигурации в форматах YAML, XML, PHP, а также.env файлах.

Symfony не обеспечивает компонент для работы с базой данных, но обеспечивает тесную интеграцию с библиотекой Doctrine.

Symfony предоставляет функцию почтовой программы на основе популярной библиотеки Swift Mailer. Эта почтовая программа поддерживает отправку сообщений с ваших собственных почтовых серверов, а также с использованием популярных почтовых провайдеров, таких как Mandrill, SendGrid и Amazon SES.

Механизм интернационализации позволяет установить и произвести перевод сообщений веб-приложения на основе выбранного языка или страны.

Symfony предлагает систему логирования ошибок приложения, а также подключить библиотеку логирования Monolog.

Плюсы

  • Мощная экосистема вокруг фреймворка, с хорошим сообществом и множеством разработчиков.
  • Хорошая и постоянно обновляемая документация для всех версий фреймворка.
  • Множество различных не связанных компонентов для повторного использования.
  • Предлагает механизм функциональных и модульных тестов для нахождения ошибок в веб-приложении.
  • Подходит для сложных и нагруженных веб-проектов.электронной коммерции.

Минусы

  • Несмотря на хорошую документацию, фреймворк является сложным для изучения.

Zend Framework

Zend Framework - это свободный объектно-ориентированный PHP фреймворк для разработки веб-приложений, разработанный и поддерживаемый компанией Zend. Данный фреймворк как правило больше всего используют при разработке крупных коммерческих проектов.

Основным спонсором Zend Framework является Zend и компания Rogue Wave , но многие другие внесли компоненты или важные функции в платформу. Такие компании, как Google, Microsoft и StrikeIron, сотрудничают с Zend для предоставления интерфейсов для веб-сервисов и других технологий, которые они хотят сделать доступными для разработчиков ZF.

Компания Zend участвует в разработке ядра языка программирования PHP.

В качестве менеджера зависимостей пакетов Zend Framework использует Composer. Для тестирования веб-приложения применяется PHPUnit, а для непрерывной интеграции служба Travis CI.

Zend Framework следует стандартам PHP-FIG и включает реализацию PSR-7 для интерфейсов HTTP-сообщений.

Поддержка множества баз данных: MariaDB, MySQL, Oracle Database, IBM DB2, Microsoft SQL Server, PostgreSQL, SQLite и Informix.

Гибкий механизм кэширования по памяти или файловой системы.

Плюсы

  • Отлично подходит для разработки коммерческих веб-приложений.
  • Объектно-ориентированный подход к разработке.
  • Несвязанные компоненты для повторного использования в проектах.

Минусы

  • Не подходит для быстрой разработки проектов.
  • Для русскоязычного сегмента разработчиков мало полезных материалов по разработке.

Codeigniter

CodeIgniter - это популярный PHP микро-фреймворк с открытым исходным кодом, для разработки веб-систем и приложений. Разработан компанией EllisLab, а также Риком Эллисом и Полом Бурдиком.

В CodeIgniter компоненты загружаются и процедуры выполняются только по запросу, а не глобально. Система не делает никаких предположений относительно того, что может потребоваться помимо минимальных основных ресурсов, поэтому система по умолчанию очень легкая.

Компоненты фреймворка слабо связаны между собой и не зависят друг от друга. ем меньше компонентов зависит друг от друга, тем более гибкой и многоразовой становится система.

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

Поэтому CodeIgniter позволяет кэшировать страницы для достижения максимальной производительности. с помощью встроенного компонента кэширования.

CodeIgniter послужил основой в разработке новых фреймворков: Kohana и Rain Framework. Многие идеи CodeIgniter были применены во фреймворках Fuel PHP и CodeLighter.

Плюсы

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

Минусы

  • Долгий застой в развитии Codeigniter 3. Сейчас перешел к новым владельцам Технологическому институту Британской Колумбии (British Columbia Institute of Technology - ВСІТ) и находится в стадии разработки новой версии - CodeIgniter 4.

Плюсы и минусы фреймворков будут пополняться и изменяться по мере возможности, изучения и работы с ними.

Краткая итоговая таблица с описанием особенностей фреймворков:

Zend Framework

Codeigniter

Лицензия

BSD MIT New BSD License MIT

Документация

отличная

неплохая

Сообщество

сильное англоязычное, русскоязычное слабое

сильное русскоязычное, англоязычное слабое

сильное англоязычное

сильное англоязычное

сильное англоязычное, упадок русскоязычного

Дополнительные пакеты и расширения

Установка через Composer

Базы данных

MySQL, Postgres, SQLite и SQL Server

MySQL, MariaDB, SQLite, PostgreSQL, CUBRID, Oracle, MSSQL

MySQL, PostgreSQL, SQLite или любая другая PDO-совместимая СУБД)

MariaDB, MySQL, Oracle Database, IBM DB2, Microsoft SQL Server, PostgreSQL, SQLite и Informix

MySQL, PostgreSQL, MSSQL, SQLite, Oracle.

Логирование

Миграции

Безопасность

Защита от SQL- injection, XSS, CSRF

Вывод

Laravel на данный момент является наиболее перспективным PHP фреймворков и подходит для создания как небольших, так и крупных веб-проектов.

Заниматься разработкой новых проектов на Yii2 по прежнему можно, как и продолжать вести существующие проекты. Версия 3 пока еще находится в разработке, поэтому Yii находится в пролете и лучше для этого взять другой фреймворк, например, Laravel.

Symfony и Zend Framework лучше всего использовать для крупных коммерческих проектов с длительным периодом разработки.

CodeIgniter не умер, а новые владельцы продолжают развитие CodeIgniter 4 .

Очень важным фактором в развитии фреймворков является коммерческая направляющая вокруг фреймворка . Если у него нет спонсоров, то рано или поздно, команда разработчиков попросту потеряет всякий интерес к участию в развитии фреймворка. Немалую роль в развитии фреймворка является маркетинг. Нет популярности и пиара вокруг фреймворка, а значит и нет разработчиков, заинтересованных в развитии фреймворка.

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

Мы продолжаем рассказывать о самых популярных и полезных инструментах для работы с языками. На этот раз речь пойдет о PHP-фреймворках.

Laravel

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

Последний пункт проявляется в следующих возможностях:

  1. Поддержка сторонних модулей, коих немалое количество, что значительно расширяет стандартные возможности фреймворка.
  2. Обратная маршрутизация, позволяющая вам не тратить время на обновление ссылок при работе - всё происходит автоматически.
  3. Шаблоны проектирования Eloquent ORM, что помогает в определении строгих отношений между объектами БД.
  4. Автоматическая загрузка классов. Это, с одной стороны, уменьшает объем кода из-за отсутствия необходимости писать include…, с другой стороны - неиспользуемые классы не подключаются со всеми вытекающими.
  5. Модульное тестирование - наличие большого числа тестов для предотвращения наслоения ошибок.
  6. Система управления версиями БД. Если вы предполагаете часто несущественно обновлять свой продукт - данная функция позволит вам не тратить время на однотипные записи.

Как вы понимаете, это далеко не полный перечень возможностей, которые предоставляют своим клиентам разработчики Laravel. За полным перечнем обращайтесь на официальный сайт или окунитесь в мир данного фреймворка лично - вам обязательно понравится.

CodeIgniter

Данный фреймворк, которому уже более 11 лет, снискал славу благодаря непритязательности относительно используемых ресурсов, простоте, удобству, огромному количеству документации, рассчитанной на разработчиков любого уровня, отсутствию ограничений. В свое время Laravel создавался именно как конкурент CodeIgniter, так что до недавнего времени это был всеобщий ориентир.

Несмотря на простоту, как у любого популярного фреймворка, у CodeIgniter также есть парочка полезных особенностей:

  1. Большая поддержка сообщества CodeIgniter Reactor, в том числе библиотеки, модули, шаблоны и документация.
  2. Шаблоны для работы с БД, которые очень похожи на синтаксис SQL.
  3. Возможность кэширования на стороне сервера.
  4. Использование менеджера пакетов для быстрого подключения библиотек из командной строки.

Но от основной идеи простоты и доступности CodeIgniter отходить не собирается. Поэтому ждать, что данный фреймворк все сделает за вас, не стоит, хотя формально и это возможно.

Symfony

Несмотря на то, что релиз третьей версии состоялся еще в 2015 году, именно вторая версия Symfony единолично удерживает 3-е место по популярности среди фреймворков. Причина здесь схожа c CodeIgniter - скорость работы и общая простота. Но чтобы это не шло в разрез с функциональностью, пользователю предлагается выбрать одну из 3 версий для профильной работы:

  1. Standard Edition - для знакомства и выполнения общих задач. На ней основан дистрибутив Hello World Edition, который содержит ровно один скрипт оптимизации для дальнейшего использования в бенчмарках.
  2. Symfony CMF - адаптация для разработчиков, работающих с CMS-системами.
  3. REST Edition - оптимизация для работы с REST-архитектурой (интернет-магазины, поисковые системы и т.д.).

Стереотипно считается, что Symfony - это фреймворк для любителей командной строки. Действительно, встроенный интерфейс SensioGeneratorBundle поможет вам из одной строки текста получить целый скелет для вашего кода.

Несомненным плюсом будет наличие официальной документации на русском языке. Стоит оговориться, что доступна она только для первой версии Symfony, но среди неофициальных релизов вы найдете и переводы официальных релизов, и самостоятельную качественную документацию.

Yii

Yii во многих рейтингах преподносится как главный конкурент Symfony. Основания для этого действительно есть: оба языка работают с полным стеком, у обоих исходники на GitHub, оба достаточно качественно представляют шаблонную разработку. Однако в то время как Symfony предоставляет лишь модель и контроллер, в Yii реализована полноценное MVC-взаимодействие. Кроме того, интерфейс в Yii куда удобнее, генерация кода с помощью браузерного элемента Gii здесь немного мощнее, да и вообще по факту Yii позволит вам сэкономить больше времени на разработке, а приложение будет работать чуть быстрее.

Nette Framework

Пожалуй, наименее известный из топовых PHP-фреймворков, что удивительно на фоне его 13-летнего возраста и широких возможностей. Вот некоторые из них:

  1. Один из самых производительных PHP-фреймворков .
  2. Прекрасно подойдет для новичков, кривая обучения достаточно плавная.
  3. Мощные инструменты в помощь: Tracy - для отслеживания ошибок, Latte - быстрый и интуитивно понятный генератор шаблонов, Tester - утилита для качественного тестирования вашего приложения в приближенных к реальным условиям.
  4. Возможность коллективной работы нескольких разработчиков над одним проектом.
  5. Прекрасная документация и дружелюбное сообщество (и не только на чешском языке).

В общем, если вы еще не попробовали Nette - рекомендуем, если нашли какие-то недостатки - обязательно пишите в комментариях.

Короткой строкой

CakePHP - популярный клон Ruby on Rails, только ориентированный на PHP. Все преимущества также схожи.

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

Phpixie - одной из главных «фишек» данного фреймворка является обновление. Больше не надо ждать несколько месяцев новую ревизию. Обнаружили -> подгрузили исправление -> работаете дальше. Принцип примерно такой.

Fat-Free - очень лёгкий, быстрый и простой фреймворк для разработки на скорую руку. Минимум посторонних забот.

Slim - этот фреймворк простой для изучения и начала работы с PHP, но практически не востребован во взрослом профессиональном мире веба.

Phalcon - прекрасный фреймворк с высокой производительностью, незначительно нагружающий память и файловую систему. Минус - проект достаточно сырой и с большим количеством подводных Си-камней.