Релиз фреймворка Phalcon 5

Релиз фреймворка Phalcon 5

Вышла первая альфа Phalcon v5.0.0 Alpha 1

Разработчики фреймворка объявили о выпуске 5 версии, правда пока альфа версии

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

Для тех кто не в курсе, напишу кратко, Phalcon - это фуллстэк PHP-фреймворк, написанный как C-расширение. Его архитектура делает Phalcon самым быстрым PHP-фреймворком из когда-либо созданных (не берем в расчет асинхронные).

Поэтому в нашей компании он с 2013-2014 годов используется как в интернет-магазине, так и в наших внутренних проектах, типа CRM и .т.д. После каждого мажорного релиза мы делаем некоторые правки, чтобы перейти на новую версию фреймворка, так со 2 версии мы перешли на 3, а затем и переписали проекты для новой версии PHP 7.4 и вышедшего тогда же Phalcon 4. А теперь перейдем к теме поста.

Почти год назад команде Фалькона пришлось сменить вектор развития, почитать об этом можно в посте о будущем развитии Фалькона, и разработчики решили написать следующую, 5 версию фреймворка, на нативном PHP, тем более, что PHP 7.4 и PHP 8 ввели такие крутые штуки как Preload и JIT, которые выводят быстродействие PHP скриптов на новый уровень.

Но, в силу некоторых несоответствий в интерфейсах и прочих мелких доработок было принято решение 5 версию фреймворка писать так же на Zeiphir'e, т.е. по сути это будет доработанная 4 версия Фалькона, с возможностью запуска его под PHP 8. 

А вот v6 будет как раз написанная на нативном PHP, с возможностью подключения расширения ext-phalcon, чтобы не терять быстродействие в некоторых узких местах.

Phalcon 5.0.0 alfa

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

Для этого выпуска требуется PHP 7.4 или PHP 8.0.

На данный момент пока не готова библиотека DLL для Windows. Поддержка Виндовс будет представлена в следующих версиях v5.

Список изменений

  • Поддержка PHP 7.4 и PHP 8.0
  • Исправлено Logger\Log::log() log распознавание всех уровней журнала #15214
  • Изменен, setClaims чтобы быть более защищенным, чтобы можно было расширить класс Phalcon\Security\JWT\Builder  #15322
  • Исправлено возвращаемое float значение при string в Phalcon\Mvc\Model::average()  #15287
  • Исправлен Phalcon\Storage\Serializer\Igbinary для правильного хранения is_numeric и bool значений #15240
  • Исправлена ошибка Phalcon\Validation\Validator\Confirmation при сравнении таких случаев, как 000123 = 123 #15347.
  • Исправлена ошибка Phalcon\Storage\Adapter, из-за которой не удавалось получить пустые сохраненные данные (например, [], 0, false) #15125
  • Для функции getEventsManager() разрешен возврат null #15010
  • Удалено подчеркивание из имен методов (начало), чтобы соответствовать PSR-12 #15345
  • Исправлено Phalcon\Flash\Session::has() для правильной проверки наличия каких-либо сообщений #15204


К сожалению 4 версия Фалькона не будет поддерживать PHP 8.0, и это нужно учитывать в своих проектах, т.е. скорее обновляться на новую 5 версию, тем более, что сам переход очень и очень безболезненный, я например, уже перевел как свои пет-проекты, типа визиток или небольших каталогов, так и мы уже перевели наш интернет-магазин на работе, плюс добиваем переход внутренней CRM, и то проблема обычно из более строго синтаксиса PHP 8 по сравнению с 7 версией, но конечно же переход оправдан с любой стороны, т.к.  наконе-то  можно будет реализовать в проектах все фишки 8 версии PHP. Спасибо большое ребятам за проделанную работу!


Сергей Мухин

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

Есть вопросы?

Я почти всегда в режиме онлайн

Связаться со мной