В настоящее время большинство разработчиков просто не может себе представить эффективное развитие в сфере WEB без использования механизмов, которые делают все намного проще и быстрее. Но, как мы все знаем, ничто не является совершенным. Чем фреймворк больше и чем он более всеобъемлющий, тем более вероятно, что это больно отразится на производительности вашего веб-сайта или приложения. Тем не менее, есть фреймворк Phalcon, способный бросить вызов этому высказыванию.
Phalcon является PHP-фреймворком с открытым исходным кодом, выпущенным в 2012 году.
В принципе, каждый PHP-фреймворк утверждает, что он уникален, предоставляя в качестве доказательства перечисление некоторых специфических особенностей, принципы проектирования и безупречную документацию. Но среди всех этих решений, Phalcon открывается как действительно уникальный фреймворк. В отличие от большинства фреймворков, он не установлен просто как каталог в вашем проекте, он написан на языке Zephir, транслируемом в C, скомпилирован и поставляется в виде C-расширения PHP. Вам не нужно учить или использовать язык C, так как вся функциональность реализована в виде PHP-классов, готовых для использования. Phalcon также имеет слабую связность, что позволяет использовать его объекты в качестве компонентов вашего приложения в зависимости от его потребностей. Цель такого подхода - сделать фреймворк быстрее без ущерба для его функциональности и без понижения его до микрофреймворка.
В течение последних нескольких лет мы наблюдали распространение фреймворков. Под термином "фреймворк" мы имеем в виду стандартный набор готовых инструментов и компонентов, которые ускоряют разработку приложений. Они помогают в написании приложений, которые имеют сплоченную, легко читаемую, простую для понимания структуру (модели MVC, в частности) и код. К сожалению, из-за этого страдает производительность. В большинстве случаев, чем больше структура, тем сильнее она влияет на быстродействие конечного продукта.
Я хочу, чтобы мое маленькое приложение было быстрым - это означает, что фреймворк будет бесполезен для меня?
Вовсе нет. Если ваше приложение маленькое и производительность является одним из приоритетов, вы можете использовать так называемые микрофреймворки - меньшие версии более крупных структур, которые стремятся обеспечить основные функциональные возможности без ущерба для производительности. Но что, если ваше приложение будет требовать добавления все более и более сложных компонентов в будущем, чтобы в полной мере использовать его потенциал и увеличить его популярность? Скорее всего приложение должно быть полностью переписано с использованием полноценного фреймворка.
Когда речь идет о создании приложений - вы не хотите идти на компромисс, не так ли? Если это действительно так, то вы должны обязательно обратить внимание на Phalcon. Phalcon предоставит вам все типичные черты больших и комплексных фреймворков, но в то же время, так как он поставляется в виде модуля C на основе языка PHP, его скомпилированные компоненты выполняются гораздо быстрее, чем традиционные фреймворки написаные на чистом PHP. Phalcon реализует многие типичные решения - такие как внедрения зависимостей, например - но они сильно отличаются от тех, которые обычно предоставляются в большинстве фреймворков, и являются гораздо более практичными. Еще один интересный и примечательный факт - разработчики Phalcon создали новый язык программирования высокого уровня под названием Zephir. Вы можете узнать больше об этом здесь - https://zephir-lang.com.
Есть много причин, почему вы должны по крайней мере дать Phalcon шанс. Просто перечислим некоторые из наиболее важных преимуществ этого фреймворка:
Конечно, нет. Перед тем, как погрузиться в Phalcon, вы должны знать, что в силу его природы как PHP-модуля, написанного на C, его установка не так проста. Он должен быть установлен и скомпилирован администратором. В некоторых случаях, вам необходимо обратиться к вашему хостинг-провайдеру, чтобы сделать это. Впрочем, многие хостинг-компании предлагают Phalcon сразу. Кроме того, отладка ядра Phalcon является довольно сложным занятием. С другой стороны, это действительно хорошо отполированый продукт и вы не будете натыкатся на множество ошибок. Если вы действительно хотите глубокого погружения в Phalcon, вы всегда можете найти правильный инструмент для отладки его производительности. Вы можете найти подробные инструкции по этому вопросу на официальном сайте проекта Phalcon.
Он очень быстрый. Но, чтобы дать вам более полную картину, давайте посмотрим на некоторые тесты. Мы предлагаем вам взглянуть здесь - https://github.com/kenjis/php-framework-benchmark (бенчмарки фреймворков) и здесь - https://github.com/kenjis/php-orm-benchmark (бенчмарки ORM). Ниже вы можете найти результаты тестов четвертого квартала 2015 года:
Фронтенд:
{{javascript_include("JavaScript/jquery.js")}}
1. Внедрения зависимостей с использованием объектно-реляционного отображения - больше не надо писать строки подключения к базе данных и SQL-запросы. Хотите найти пользователя?
User::find(array("email" => "jacksonfdam@gmail.com"));
2. Менеджеры событий - эта услуга позволяет выполнять действия до и/или после каждого запроса и не только - она полностью настраиваема и применима к любому классу.
Командная строка - без неё пришлось бы применять операции копирования-вставки к большому числу файлов и папок. Эта функция позволяет создавать проекты, контроллеры, модели и представления посредством простых команд. Новый проект:
phalcon project myAwesomePhalconProject
Новый контроллер:
phalcon controller Posts
Новая модель:
phalcon model —table-name Users
ORM ищет таблицы в базе данных с параметрами проекта, получает атрибуты и формирует модель.
Если вам интересно как начать использовать Phalcon, мы предлагаем следующие шаги:
Если вы используете Vagrant, скачать и ознакомиться со средой разработки Vagrant доступной на Github - https://github.com/phalcon/vagrant
Если вы используете Docker, загрузите этот стабильный пакет - https://github.com/szeist/docker-phalcon,
а также Apache и PHP7 пакет - https://github.com/szeist/docker-phalcon, который уже включают в себя структуру Phalcon.
Пользователи Windows тоже не остались с пустыми руками - получить библиотеку DLL можно здесь - https://phalconphp.com/pl/download/windows
Вам также потребуется список команд - https://phalconphp.com/pl/download, необходимых для установки и компиляции Phalcon на Linux/Unix/Mac.
Если у вас уже установлен Phalcon, либо возникли проблемы с ним, то в интернете полно качественных ресурсов.
Наиболее важные из них включают в себя официальную документацию - https://docs.phalconphp.com/en/latest/index.html (доступна на нескольких языках) и Phalcon,
конечно же, хорошо известен и любим на stackoverflow.com - http://stackoverflow.com/questions/tagged/phalcon.
Если Вы хотите оставаться в курсе событий:
сайт Phalcon - https://phalconphp.com/pl/,
официальный блог - https://blog.phalconphp.com/,
страница на Facebook - https://www.facebook.com/pages/Phalcon-фреймворк/134230726685897,
страница Twitter - https://twitter.com/phalconphp,
страница Google Plus - https://plus.google.com/+PhalconPHP/videos,
страница Github - https://github.com/phalcon/cphalcon.
Phalcon обеспечивает по-настоящему уникальный и свежий взгляд на фреймворки, и мы считаем, что он выделяется среди них достаточно, чтобы по крайней мере можно было дать ему шанс. Может быть, именно он станет вашим новым инструментом для создания быстрых веб-приложений?
Комментарии
1 комментарийСпасибо за статью. Довольно интересно.