Релиз фреймворка Phalcon 5
Разработчики фреймворка объявили о выпуске 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. Спасибо большое ребятам за проделанную работу!
Что думаешь?