Фреймворк php что это
Какой PHP-фреймворк выбрать: сравниваем Symfony, Laravel и Yii2
В этой статье рассматриваются три наиболее популярных PHP-фреймворка: Symfony, Laravel и Yii2. Автор сравнивает их возможности и пытается помочь читателю выбрать лучший инструмент. Статья предназначена для начинающих разработчиков, которые ещё не работали с PHP-фреймворками.
Зачем нужен PHP-фреймворк
PHP — один из самых популярных и востребованных языков программирования. Его активно используют крупные проекты, например, Facebook и «ВКонтакте». На PHP написаны популярные системы управления контентом (CMS), в том числе WordPress. На этом движке работает около трети всех сайтов в интернете и около 60 % сайтов на CMS.
PHP развивается, а версия 7 сделала этот язык стабильным. В таком случае, зачем нужны фреймворки и почему их часто используют вместо нативного языка? Вот несколько причин:
Нативный PHP позволяет делать приложения. Но перечисленных выше преимуществ достаточно, чтобы обратить внимание на фреймворки.
Полезная информация
Почему Django — лучший фреймворк для разработки сайтов: статья о характеристиках и особенностях популярного веб-фреймворка.
Как выбрать PHP-фреймворк
Выбрать фреймворк помогут ответы на следующие вопросы:
Symfony, Laravel и Yii2
Перед погружением в детали коротко рассмотрим главные особенности наиболее популярных PHP-фреймворков. Это Symfony, Laravel и Yii2.
Symfony
Symfony представляет собой набор PHP-компонентов, которые подходят для повторного использования. Фреймворк позволяет делать масштабируемые и производительные приложения. API Symfony интегрируется со сторонними приложениями, а также с инструментами для фронтенд-разработки, например, Angular JS.
Symfony используют многие популярные проекты, например, Drupal и phpBB. Даже самый популярный PHP-фреймворк Laravel построен на основе Symfony.
Laravel
По состоянию на середину 2019 года это самый популярный PHP-фреймворк в мире. Текущая стабильная версия — 5.8.10. Популярность Laravel подчёркивает следующий факт: многие хостеры предлагают специальные решения для приложений, созданных с помощью этого фреймворка.
Yii был представлен в 2008 году. Это безопасный, быстрый и производительный фреймворк для разработки веб-приложений. Текущая версия — 2.0.19.
В Yii2 используется пакетный менеджер Composer для управления зависимостями. Благодаря ленивой загрузке Yii2 считается самым быстрым PHP-фреймворком.
Ещё одна особенность Yii2 — интеграция с jQuery. Благодаря этому фронтенд-разработчикам удобно работать с приложениями, созданными на Yii2. Как и в Symfony, в Yii2 используются готовые компоненты. Это ускоряет разработку.
Какой PHP-фреймворк лучше
Все перечисленные фреймворки подходят для разработки веб-приложений. Однако у этих инструментов есть отличия, которые разработчик должен учитывать. Подробности ниже.
Шаблонизаторы
Шаблонизаторы ускоряют разработку и упрощают создание фронтенда приложения. Например, с помощью шаблонизаторов решается задача автоматического экранирования HTML.
Symfony
В Symfony по умолчанию используется Twig. Это обработчик шаблонов, который позволяет писать чистый код и расширяет возможности нативного PHP. Например, Twig упрощает создание экранирующих последовательностей.
Laravel
Этот фреймворк не использует сторонних шаблонизаторов по умолчанию. Но разработчик может выбирать инструменты в зависимости от решаемых задач. В число рекомендуемых шаблонизаторов входят Twig и Smarty.
Промежуточный вывод: по данному критерию чистого победителя нет. Все фреймворки поддерживают работу с шаблонизаторами, что ускоряет разработку фронтенда приложений. Небольшое преимущество имеет Yii2, так как в нём не используется какой-либо шаблонизатор по умолчанию.
Изучайте Laravel на Хекслете
Курс по Laravel входит в профессию «PHP-программист». Первые курсы в профессии доступны бесплатно после регистрации.
Модульность
В Symfony есть стандартные компоненты, которые можно использовать для создания приложений. То есть Symfony — отличный пример модульного фреймворка.
В Yii2 реализован подход MVC. В этом фреймворке тоже есть компоненты, однако модульность реализована не так хорошо, как в Symphony.
Laravel уступает Symfony и Yii2 в возможности использовать модульный подход для разработки приложений.
Промежуточный вывод: если вам нужен модульный PHP-фреймворк, выбирайте Symfony.
Установка
Каждый фреймворк поддерживает несколько вариантов установки. Например, Symfony, Laravel и Yii2 можно установить с помощью пакетного менеджера Composer. Все фреймворки после установки позволяют работать с шаблонным приложением.
Промежуточный вывод: по критерию простоты установки победителей нет, каждый из трёх инструментов легко устанавливать.
Скорость разработки
Symfony считается надёжным фреймворком, за которым стоит многочисленное и активное сообщество. Laravel быстро развивается и удерживает первое место в списке самых популярных фреймворков. Yii2 обеспечивает производительность приложений.
Если вам нужно как можно быстрее создать веб-приложение, и вы никогда не работали с PHP-фреймворками, выбирайте Laravel. Его проще всего изучать, и в сети больше всего руководств именно по Laravel.
Производительность
По мнению автора оригинальной статьи, наиболее производительным фреймворком является Yii2. Это оптимальный выбор для создания высоконагруженных приложений.
Производительность Laravel — дискутабельный вопрос. По этому критерию он уступает Yii2 и Symfony. Тем не менее в сети можно найти много рекомендаций по ускорению приложений на Laravel.
Поддержка баз данных
По этому критерию бесспорным лидером становится Symfony. Yii2 и Laravel отстают. Конкретную информацию можно увидеть в таблице.
| Laravel | Yii2 | Symfony |
|---|---|---|
| Microsoft BI | Microsoft BI | Apache Jackrabbit |
| MongoDB | MongoDB | CouchDB |
| MySQL | MySQL | DynamoDB |
| PostgreSQL | PostgreSQL | GraphDB |
| Redis | Redis | MemBase |
| SQLite | SQLite | MemCasheDB |
| Microsoft BI | ||
| MySQL | ||
| MongoDB | ||
| NoSQL | ||
| Oracle | ||
| PostgreSQL |
Сообщество и ресурсы
Многочисленное активное сообщество можно считать гарантией долгосрочной поддержки и развития инструмента. Вокруг рассматриваемых фреймворков сформированы большие сообщества. Комьюнити Symfony можно назвать наиболее зрелым.
Важный момент — будущее фреймворка лучше оценивать не по статичной величине сообщества, а по его динамике и активности.
Если оценивать такой ресурс, как документацию и обучающие материалы, здесь лидером будет Laravel.
Расширяемость
Функциональность фреймворков увеличивается с помощью расширений или пакетов. По этому критерию лидером остаётся Laravel. В каталоге Packalyst можно найти около 9000 пакетов для Laravel.
Yii2 и Symfony могут похвастаться 2800 и 2830 расширениями соответственно. Если для вас важна возможность расширить стандартную функциональность фреймворка с помощью дополнительных пакетов, выбор очевиден.
Схожесть характеристик
Выше мы рассматривали разницу между фреймворками. Пришло время сосредоточиться на похожих характеристиках. Вот они:
Всё ещё не можете выбрать фреймворк? Вот тезисная информация, которая поможет определиться.
Заключение
Symfony, Laravel и Yii2 можно назвать отличными инструментами для разработки веб-приложений. Автор оригинальной статьи предпочитает Laravel. В то же время он считает Symfony и Yii2 не менее мощными инструментами. Особенностью Symfony можно назвать развитое сообщество, а особенностью Yii — надёжность и безопасность.
Пожалуйста, напишите в комментариях, какой PHP-фреймворк выбираете вы.
Адаптированный перевод статьи Michael J. Garbade How to choose a PHP framework. Мнение автора оригинальной публикации может отличаться от мнения администрации и сотрудников Хекслета.
Знакомство с фреймворками. Часть 1. HTML/CSS, PHP и Python
Этой статьей я хочу начать цикл материалов, посвященных фреймворкам: что такое фреймворки, зачем они нужны, и какие бывают.
Что такое фреймворк
Если обратиться к истории самого слова «фреймворк», то этот неологизм появился в языке относительно недавно, примерно в начале XXI века. С английского слово “framework” можно перевести как «конструкция», «структура», «каркас», «корпус» или «остов». Понимание перевода слова ведет к понимаю сути фреймворка: это специальная программная среда выполнения, программный каркас, который облегчает разработку программ и объединение компонентов, так как уже содержит в себе некую основу, не меняющуюся от конфигурации к конфигурации часть, которую следует лишь наполнить сменными моделями или точками расширения.
В отличие от динамической библиотеки (DLL), которая предоставляет собой лишь набор ограниченных функций, фреймворк является каркасом, согласно которому будет строиться архитектура приложения, то есть он определяет взаимосвязь между компонентами. Более того, фреймворк может содержать много разных по тематике библиотек.
При этом фреймворки можно поделить на следующие виды:
В данном цикле в поле нашего зрения окажутся фреймворки, которые относятся к первому типу и помогают разрабатывать веб-проекты.
Сравнение чистого кода, фреймворка и CMS
Перед созданием сайта программисту нужно решить, по какому из трех возможных путей разработки сайта он хочет пойти.
Первый вариант – это написание исходного кода с нуля. Такой путь удобен, так как дает свободу действий и практически неограниченный функционал, который можно реализовать. Среди минусов необходимо выделить трудоемкость и растянутость во времени, а также необходимость тщательно тестировать готовый продукт на предмет ошибок и недоработок.
Второй вариант – это использование фреймворков. Безусловно, этот вариант имеет ряд ограничений, если сравнивать его с предыдущим путем: у вас уже будет готовая основа, которую необходимо будет заполнить нужными компонентами. Естественно, даже такой вариант не подойдет тем, кто мало знаком с программированием, и именно поэтому на свет появился третий способ создания сайта.
Третий вариант – установка готовой CMS. Этот путь популярен у людей, далеких от веб-разработки, так как он позволяет легко и быстро создать свой собственный сайт, при этом все необходимые действия можно выполнять из административной панели. Но в то же время этот подход является самым несвободным по сравнению с предыдущими двумя и обладает массой ограничений.
Таким образом, фреймворк – это некий компромисс между написанием собственного кода и использованием готовой системы управления контентом. Фреймворк обеспечивает проект уже готовым каркасом, при этом не лишает его функциональной гибкости.
Необходимые для веб-разработки фреймворки чаще всего делят по принципу языка, к которому они относятся. В данной и следующей статьях я последовательно рассмотрю, какие фреймворки существуют, и в чем заключаются их особенности.
HTML/CSS-фреймворки
Bootstrap (или Twitter Bootstrap) – один из самых известных и современных фреймворков, впервые анонсированный в 2011 году. Одно из главных свойств этого фреймворка – адаптивность. Используя Bootstrap, вы можете создать сайт с отзывчивым дизайном: ваш проект будет самостоятельно подстраиваться под размер экрана пользователя. Другие плюсы этого фреймворка: простота в использовании, наличие множества шаблонов и стилей, что значительно экономит время при разработке, согласующийся постраничный дизайн, открытое программное обеспечение. Bootstrap нельзя назвать только HTML/CSS-фреймворком, так как он включает в себя также готовые стили и плагины под jQuery (библиотека на JS).
Foundation – один из ведущих front-end-фреймворков на данный момент. В последних версиях авторы сделали упор на функционал для мобильных устройств. Семантический подход позволяет писать более чистый код на HTML и использовать SCSS. Этот фреймворк хорошо подходит для быстрого прототипирования.
Semantic UI – этот фреймворк, как и Bootstrap, поможет вам создать переносимые интерфейсы. Это достаточно молодой фреймворк, который постоянно развивается; он имеет множество различных кнопок, иконок, изображений, надписей и других элементов.
Uikit – фреймворк, обладающий легкой и модульной структурой. Выделяется на фоне остальных фреймворков двумя особенностями: во-первых, markdown (предварительный просмотр в реальном времени), во-вторых, синтаксическая подсветка для HTML.
Pure by Yahoo! – фреймворк, который содержит небольшие адаптивные CSS-модули, пригодные для использования в любом проекте. Как можно понять из названия, к этому фреймворку стоит обращаться тогда, когда вам нужно использовать некоторые возможности фреймворка, но в то же время вы не хотите использовать слишком тяжелый программный каркас.
PHP-фреймворки
Yii – фреймворк, название которого расшифровывается как “Yes, it is!”, существует уже более 8 лет и постоянно обновляется. У него широкие возможности: одна из самых высоких производительностей (по сравнению с другими фреймворками), кэширование, обработка ошибок, миграция баз данных, возможность использовать и объединяться с jQuery и многое другое. В отличие от других PHP-фреймворков, Yii можно изучить достаточно быстро, работа с ним стабильна и безопасна. Именно по этим причинам данный фреймворк часто советуют тем, кто только начинает свой путь в PHP-программировании.
Laravel – этот фреймворк часто лидирует в разнообразных опросах, касающихся PHP-фреймворков. Например, в 2013 году Laravel был назван самым многообещающим проектом 2014 года, а в 2015 году занял первые места в категориях «Фреймворк корпоративного уровня» и «Фреймворк для личных проектов». Laravel прост в освоении и отлично подходит для небольших и средних проектов, когда необходимо быстро и удобно написать код.
Symfony – этот фреймворк часто рекомендуют использовать для создания больших порталов, так как его можно назвать одним из самых стабильных PHP-фреймворков. Это гибкий и масштабируемый фреймворк со значительным функционалом. Symfony содержит полезные многоразовые компоненты, касающиеся безопасности, шаблонов, перевода, настройки форм и многого другого.
CodeIgniter – один из старейших фреймворков, первый публичный релиз которого состоялся в 2006 году. Этот фреймворк имеет массу преимуществ: быстрая установка, хорошая документация, малый вес; с ним вы можете легко реализовать задуманный проект. Именно поэтому некоторые начинают освоение фреймворков именно с CodeIgniter. Немаловажным фактом также являются регулярные релизы новых версий, в которых исправлены баги и добавлены новые возможности.
Phalcon PHP – написанный на языках программирования C, С++ и PHP фреймворк имеет открытый исходный код, а также предлагает разные версии для самых популярных операционных систем: Windows, Linux и Mac. Если взять во внимание тесты, то данный фреймворк является одним из самых производительных. Также Phalcon PHP можно использовать на собственных серверах.
Python-фреймворки
Django – это один из самых известных фреймворков в целом и, безусловно, самый популярный фреймворк на языке Python. Удивительно, но для того, чтобы начать использовать Django, вам даже не нужны глубокое знание языка Python. Отличительной особенностью Django является его принцип DRY, который расшифровывается как “Don’t repeat yourself”. Мысль, выраженная в этой фразе, ведет к тому, что разработчикам не следует повторять те строки кода, которые они уже использовали, и благодаря этому исходный код выглядит более лаконично и понятно. К преимуществам фреймворка можно также отнести стандартную структуру (благодаря которой даже сторонний программист сможет разобраться в коде) и наследование шаблонов. Многие знакомы с Django в качестве системы администрирования, однако эта CMS подойдет только опытным пользователям, знакомым с программированием.
Flask – данный фреймворк также называют расширяемым микрофрейморком. Это связано с тем, что изначально в Flask заложен лишь самый необходимый функционал, который затем можно расширять до уровня, который необходим проекту. Обилие расширений решит практически любую задачу, которую вы перед собой поставите. Поэтому свое ознакомление с Python-фреймворками многие советуют начать именно с Flask.
TurboGears – известный Python-фреймворк с более чем 10-летней историей. Он предназначен для разработки веб-проектов и состоит из различных WSGI-компонентов, в том числе Pylons и CherryPy. Благодаря этому можно говорить о TurboGears как о мощном фреймворке с богатым функционалом. Он поддерживает множество баз данных и форматов обмена данными, также поддерживает различные JavaScript-библиотеки и горизонтальное масштабирование данных.
Tornado – этот фреймворк выделяется на фоне остальных своей главной особенностью, а именно способностью решить проблему 10 тысяч соединений. Неблокирующая природа сервера, использующего Torando, позволяет ему легко выдерживать тысячи недлительных подключений, которые произведены в одно время.
Web2spy – этот фреймворк, как и некоторые другие, основывается на концепции RAD (rapid application development). Иными словами, при его разработке особое внимание было уделено оптимизации процесса создания проекта, чтобы программист мог как можно быстрее создать хороший продукт. Фреймворк имеет открытый исходный код и помогает создавать динамические сайты при помощи языка Python. Это полнофункциональный фреймворк, который содержит компоненты для всех основных функций.
Во второй части будут рассмотрены фреймворки следующих языков программирования: Ruby, Java, JavaScript.
Популярные PHP-фреймворки
Язык программирования PHP (Hypertext PreProcessor), появившийся в далеком 1994 году, по сей день является популярным инструментом разработки веба. Сегодня он применяется при создании разных программных продуктов, а раз уж мы вспомнили про web, то скажем, что PHP используется сегодня приблизительно на 80 % сайтов, причем некоторые наиболее удачные проекты знает практически каждый: Google, Facebook, Wikipedia. А еще на PHP работает около 50 % систем управления контентом (CMS), включая тот же WordPress, на движке которого сейчас находится данная статья.
Однако сложно представить полноценную работу с PHP без таких инструментов, как фреймворки. Именно они существенно повышают скорость и эффективность создания сайтов и программных приложений. О них и поговорим.
Фреймворк — что это?
Фреймворк (framework — конструкция, каркас) представляет собой программную платформу, определяющую структуру программной системы. Также это ПО, которое облегчает разработку и интеграцию различных компонентов программного проекта. К примеру, чтобы не писать какой-нибудь модуль с нуля, намного проще и быстрее задействовать уже готовый шаблон фреймворка, который сформируют рабочую среду программиста.
Вам должно быть известно, что фреймворки существуют и у множества других языков программирования: Java, Python, JavaScript и т. д. Однако именно PHP-фреймворки до сих пор занимают важнейшее место среди инструментов современной бэкэнд-разработки.
Преимущества PHP-фреймворков:
Что учесть при выборе?
Выбор PHP-фреймворка зависит от целей и масштабов предстоящего проекта. На какие нюансы стоит обратить особое внимание:
Laravel
Один из наиболее популярных PHP-фреймворков, что стало возможным благодаря простоте освоения и активному развитию. Начинающим предлагаются довольно комфортные условия пошагового погружения в сферу разработки web. Широкий функционал Laravel позволяет решать большой набор задач бэкэнда, причем даже тем, кто не имеет многолетнего опыта в этом направлении.
Плюсы Laravel:
Yii
Этот объектно-ориентированный PHP-framework называют лидером и одним из лучших в плане обеспечения производительности, поэтому его нередко выбирают для разработки высоконагруженных веб-приложений. А еще у него развитое профессиональное сообщество, причем многие из его участников являются русскоговорящими.
Преимущества Yii:
Symfony
Гибкий функционал, модульный подход к построению системы — все это framework Symfony. Он дает возможность либо выбирать нужные функции PHP, либо оперировать инфраструктурой целиком. Это сбалансированное решение для программиста, умеющего ценить модульность и преимущества, которые дает применение отдельных компонентов. Веб-приложения, написанные на Symfony, отличаются высокой производительностью, благодаря чему их часто используют при решении сложных задач уровня Enterprise.
Особенности:
Zend Framework
Неплохое решение по части разработки качественных корпоративных веб-приложений. Минус этого PHP-фреймворка заключается в сложности изучении, однако плюсы, которые дает ООП, расширяемая функциональность и интеграция дополнительных внешних библиотек, однозначно стоят того, чтобы обратить свое внимание на PHP Zend.
Плюсы Zend Framework:
Резюме
PHP фреймворки — отличный инструмент и для создания полнофункциональных веб-приложений, и для создания API. Одни фреймворки новее и современнее, другие старше и характеризуются надежностью, проверенной временем. Суть не в этом, а в том, что их использование экономит время и позволяет практически любому разработчику делать свою работу быстрее за счет готовых шаблонов, фреймов и решений.
Выбирать удобный инструмент следует, учитывая сложность проекта, его масштабность. Если перед вами стоит очень сложная и крупная задача, учитывайте доступный функционал платформы, масштабируемость, ресурсоемкость, производительность, совместимость с версиями PHP и базами данных. Если же предстоит небольшой проект на PHP, то для таких задач подойдут универсальные решения, где соблюдается оптимальный баланс между основными компонентами и требовательностью к ресурсам.
А каким фреймворком в процессе своей работы пользуетесь вы и почему? Пишите в комментариях!
9 самых популярных PHP-фреймворков
Десятки лет PHP был самым любимым языком программирования в мире. И это не случайно. PHP-разработка ведётся быстро, получающиеся в итоге проекты отличаются высоким уровнем безопасности, их легко поддерживать. Кроме того, в ходе разработки PHP-проектов приходится писать не слишком много собственного кода благодаря тому, что существует огромное количество PHP-библиотек. В наши дни PHP используется приблизительно на 79% веб-сайтов.
Разработчикам в деле создания их замечательных проектов помогают различные PHP-фреймворки. Но что это за фреймворки? Почему программисты выбирают именно их? Сейчас мы попытаемся в этом разобраться и заодно выясним то, какие именно фреймворки лучше всего подходят для веб-проектов различных видов.
1. Laravel
Laravel — это бесплатный опенсорсный PHP-фреймворк, который появился в 2011 году. С тех пор он смог стать тем фреймворком, который чаще всего выбирают веб-разработчики. Одна из главных причин этого заключается в том, что Laravel позволяет разрабатывать сложные веб-приложения проще, быстрее и безопаснее, чем любые другие фреймворки.
Использование Laravel, кроме того, облегчает решение множества рутинных задач, что ведёт к тому, что разработчикам приходится писать, в соответствующих ситуациях, меньше кода. Среди таких задач — маршрутизация, кеширование, авторизация, аутентификация. Благодаря использованию этого фреймворка упрощаются такие задачи, как проверка электронных адресов пользователей, хеширование и сброс паролей. Laravel выбирают, в основном, разработчики B2B-решений.
А после появления Homestead — заранее подготовленного контейнера Vagrant, установка Laravel стала до крайности простой. Самая свежая на данный момент версия Laravel — 8 — вышла в сентябре 2020 года.
2. Yii
Yii — это простой, но высокопроизводительный универсальный фреймворк, основанный на компонентной структуре. Он известен благодаря высокой производительности, но, в первую очередь, он знаменит своей простотой. Этот фреймворк появился в декабре 2008 года. Он позволяет использовать код сторонних разработчиков, а имеющийся в нём генератор кода Gii позволяет быстро создавать базовые структуры, на основе которых можно строить собственные решения.
Его создатели очень серьёзно подошли к вопросам безопасности. В частности, в него встроены механизмы хеширования паролей, основанные на bcrypt, и средства шифрования. Этот фреймворк отлично подойдёт тем, кто хочет нанять разработчика из Индии для работы над проектами из сфер электронной коммерции, создания CMS или форумов.
3. CodeIgniter
CodeIgniter — это фреймворк, который известен тем, что для его приведения в рабочее состояние требуется минимальное количество настроек. Это позволяет тем, кто его выбирает, работать в хорошем темпе. Его много раз, с момента появления в 2006 году, обновляли. Сейчас самой свежей его версией является 4.0.3.
Размер фреймворка, включая документацию, не превышает 2 Мб, но он, несмотря на такую компактность, предлагает разработчикам множество стандартных модулей для создания компонентов, отличающихся надёжностью и подходящих для многократного использования. Это делает CodeIgniter отличным выбором для тех, кто создаёт динамические веб-сайты.
Этот фреймворк поощряет использование архитектуры MVC, но он, в плане архитектуры создаваемых на его основе проектов, весьма гибок, и не ограничивает разработчиков лишь этой архитектурой. В нём имеется надёжная система защиты контента, он обладает стандартными механизмами для защиты от CSRF- и XSS-атак.
Разработчику, присматривающемуся к CodeIgniter, стоит знать о том, что это одна из тех PHP-платформ, которые легче всего освоить. Его, кроме того, очень легко устанавливать. Эти факторы делают его идеальным выбором для новичков.
4. Symfony
Symfony выгодно отличается от других PHP-фреймворков надёжностью и зрелостью. Этот фреймворк появился давно, в 2005 году, то есть — существует гораздо дольше, чем большинство других рассматриваемых нами инструментов. Он популярен благодаря соответствию веб-стандартам и шаблонам проектирования PHP.
Он включает в себя встроенную систему тестирования и основан на обширном MVC-фреймворке. Это делает его идеальным выбором для крупномасштабных веб-проектов, создаваемых на уровне организаций. Он, в частности, поддерживает работу с различными базами данных.
Если вы собираетесь нанять веб-разработчика в Индии на Symfony-проект, вам стоит поинтересоваться опытом разработчика в сфере применения этого фреймворка и его предыдущими работами. Дело в том, что этот фреймворк отличается достаточно крутой кривой обучения. Но при этом любой, кто искусно владеет Symfony, может называться настоящим мастером веб-разработки.
5. CakePHP
CakePHP — фреймворк, существующий с 2005 года, известен теми удобствами, которые он даёт веб-разработчикам. Он нуждается в весьма скромных настройках, не требует пользоваться XML- или YAML-файлами. У него есть собственная ORM, что выгодно отличает его от других подобных инструментов. В плане безопасности у него тоже всё хорошо, в частности, в нём имеется система защиты от CSRF-атак.
Его встроенная подсистема, называемая «Components and Helpers», облегчает работу программистов, избавляя от необходимости делать многое самостоятельно, то же самое можно сказать и о наборе его библиотек, реализующих много полезных возможностей. Благодаря этому его можно назвать оправданным выбором для веб-проектов, в которых реализован какой-то редкий или нестандартный функционал.
CakePHP был одним из самых первых PHP-фреймворков, поддерживающих MVC, ворвавшихся в мир веб-разработки. Он используется в крупных известных проектах вроде 10 Fast Fingers, Printivo, Visit NC и Coconala.
6. Zend Framework
Zend Framework — это ещё один фреймворк, в основе которого лежат компоненты. Его ещё называют «фреймворком промежуточного уровня». Он появился в 2006 году, сейчас самой современной является его версия 3.0.0. В нём применяется объектно-ориентированный MVC-подход, который известен тем, что помогает разработчикам заниматься своим делом, ни на что не отвлекаясь.
Он позволяет загружать необходимые компоненты в виде отдельных библиотек. При этом можно, без особых сложностей, интегрировать в проекты и внешние библиотеки. При его использовании крайне просто организовать многократное использование кода.
Правда, учитывая сложность этой платформы, с ней может быть непросто разобраться, особенно тем, кто переходит на Zend Framework с Laravel или Symfony. К этому фреймворку обычно прибегают лишь опытные разработчики.
7. Phalcon
Phalcon — это особенный PHP-фреймворк, исходный код которого написан на языке C. Это может показаться странным, но благодаря такому подходу данный фреймворк можно назвать самым быстрым проектом такого рода. Работа с этим фреймворком не означает необходимости иметь опыт C-разработки. Программист, выбирающий Phalcon, может иметь дело лишь с классами и пространствами имён PHP, генерируемыми фреймворком.
Phalcon — это высокопроизводительный фреймворк, размещаемый в памяти и охватывающий все уровни веб-разработки, который появился в конце 2012 года. То, что в его основе лежит скомпилированный код, очень хорошо сказывается на его производительности. Даже применяемая в нём система шаблонизации, Volt, известна своей высокой скоростью. В нём имеются вспомогательные классы.
Phalcon, помимо скорости, предлагает разработчику хорошо организованную систему управления ресурсами и универсальную автоматизированную систему загрузки ресурсов. В результате этот фреймворк идеально подойдёт тому, кто стремится создавать чрезвычайно быстрые веб-проекты.
8. FuelPHP
FuelPHP — это MVC-фреймворк, вышедший в 2011 году и поддерживаемый силами сообщества разработчиков. Он известен своей гибкостью. В нём реализована особая версия MVC — HMVC (Hierarchical Model-View-Controller — иерархическая версия архитектуры модель-вид-контроллер). HMVC, в отличие от MVC, поощряет многократное использование кода. FuelPHP, кроме того, предлагает разработчикам отличную расширяемость, модульность, хорошую систему организации кода. В результате этот фреймворк позволяет программистам экономить время и бережно расходует системные ресурсы.
FuelPHP позволяет создавать веб-проекты разных масштабов. Он отличается надёжной и хорошо продуманной системой безопасности с поддержкой Output Encoding, с защитой от CSRF- и XSS-атак.
В нём имеется уникальная утилита командной строки, но этим его полезные возможности не ограничиваются. Среди них — весьма продвинутая встроенная ORM. Среди других его возможностей — поддержка разработки RESTful-API, хорошая система маршрутизации, встроенные механизмы защиты от уязвимостей. Среди известных веб-проектов, в которых используется FuelPHP можно отметить Front Desk — систему управления имуществом, используемую в гостиничном бизнесе.
9. Slim
Slim — это, что отражено в его названии, микро-фреймворк, отличающийся компактностью и скоростью. Причина таких его характеристик кроется в том, что он совершенно независим от стороннего кода. Он был создан в 2010 году, на данный момент самая свежая его версия — это 4.5.0.
Это один из лучших фреймворков для начинающих. Его очень легко освоить, он отличается дружелюбной и простой документацией. На него стоит взглянуть тем, кого интересует разработка RESTful-API. Он облегчает решение таких задач, как маршрутизация, шифрование куки-файлов, HTTP-кеширование на стороне клиента.
Фреймворк Slim предназначен для маленьких но мощных веб-приложений и API.
Что выбрать?
Вполне нормально то, что у того, кто пытается выбрать PHP-фреймворк для своего проекта, буквально разбегаются глаза, так как все фреймворки, на первый взгляд, кажутся именно тем, что ему нужно. Выбирая фреймворк, стоит помнить о том, что все они предоставляют базовую структуру веб-приложения, помогающую ускорить разработку, но при этом различаются в плане документации, сообщества, безопасности, масштабируемости, поддержки баз данных, лёгкости использования. В результате у каждого из PHP-фреймворков есть собственные сильные и слабые стороны. Поэтому, выбирая фреймворк, чётко сформулируйте требования к проекту, оцените его масштабы и примите взвешенное решение, посоветовавшись с теми, кто хорошо разбирается в PHP-фреймворках.

HTML/CSS-фреймворки





