Всем привет! Краткий обзор новостей из мира PHP и Laravel за октябрь 2023 г.

PHP Дайджест

Вышли PHP 8.1.25 и PHP 8.2.12

В этих выпусках несколько исправлений ошибок и улучшений в модулях Core, CLI, CType, DOM, Fileinfo, Filter, Hash, Intl, MySQLnd, Opcache, PCRE, SimpleXML, Streams, XML и XSL.

Вышел пятый релиз кандидат PHP 8.3.0

Очередной релиз-кандидат вышел в соответствии с графиком. Шестой RC ожидается 9 ноября и станет последним перед финальным релизом PHP 8.3.

Подробный список того, что появится в PHP 8.3, можно найти на сайтах php.watch или stitcher.io.

SjonHortensius/phpshell стал публичным

Репозиторий phpshell, на базе которого работает сайт 3v4l.org стал общедоступен.

Symfony исполнилось 18 лет

18 октября 2005 года был сделан первый публичный коммит проекта Symfony.

Открыта программа раннего доступа PhpStorm 2023.2

В первой версии EAP улучшена поддержка PHP 8.3, добавлен мастер создания новых проектов для Symfony и поддержку преобразования аннотаций Doctrine в атрибуты.

Ядро PHP

Большинство новостей ядра PHP подробно освещаются в серии PHP Core Roundup от PHP Foundation, мы лишь быстро по ним пробежимся:

????RFC: Rounding Integers as int

На данный момент функции округления round, ceil и floor возвращают число с плавающей точкой, но при использовании целых чисел выше 2^53 получаются неожиданные результаты из-за потери точности. Marc Bennewitz предлагает выполнять округление для заданного целого числа и возвращать полученное целое число, если это возможно.

????RFC: Unbundle ext/imap, ext/pspell, ext/oci8, and ext/PDO_OCI

Derick Rethans предлагает удалить модули из ядра PHP и перенести в репозиторий PECL.

????RFC: Multibyte for trim function mb_trim, mb_ltrim and mb_rtrim

Yuya Hamada предлагает добавить многобайтовую поддержку для функций обрезки.

????RFC: RFC1867 for non-POST HTTP

RFC1867 определяет тип контента multipart/form-data. PHP поддерживает анализ этого типа контента, но только для POST-запросов. Если осуществляется POST-запрос и тип содержимого multipart/form-data, тело запроса немедленно обрабатывается перед запуском PHP-скрипта и заполняется в суперглобальные переменные $_POST и $_FILES. Эта функция запускается автоматически и не предоставляется непосредственно пользователю.

Ilija Tovilo предлагает добавить новую функцию request_parse_body(), чтобы вывести существующую функциональность на пользовательский уровень и использовать ее для других HTTP-методов.

????RFC: Change the edge case of round()

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

RFC: Increasing the default BCrypt cost

RFC о котором мы говорили в прошлом выпуске принят единогласно. Большинством голосов было принято, что в PHP 8.4 значение cost по умолчанию будет увеличено до 12.

RFC: A new JIT implementation based on IR Framework

Ещё один RFC из прошлого выпуска также принят единогласно в обоих голосованиях: в PHP 8.4 появится новая реализация JIT, тем временем старая реализация будет удалена.

Laravel дайджест

Laravel дайджест

Обновления Laravel

В этом месяце вышло три релиза (10.26 - 10.28). Они большие, но в основном это фиксы - где-то что-то поправили - в док-блоках, в аннотациях и добавили тесты. В Git workflow обновили Git auto-commit action с четвертой на пятую версию.

10.26. Vendor::Publish prompt

Взглянем на поиск в команде vender::publish. Бывает, что в огромном списке нужно выбрать определённую цифру и указать, что именно из vendor service provider необходимо опубликовать. Теперь есть vendor publish с новым Laravel Prompt, где появился поиск. Теперь быстро можно найти что нам требуется и сразу опубликовать все необходимые файлы от vendor service provider. С таким поиском передавать опцию с namespace провайдера больше не надо.

10.26. Route::List -vv option

Прокачали artisan команду Route::list. Появилась опция -vv, которая выведет развёрнутую информацию по применённым к роутам мидлварам.

Artisan.page

Вышел проект по Artisan-командам в Laravel. На нём собраны все Artisan команды и все возможные опции и аргументы которые у них есть. Многих из них нет в официальной документации, а на этом сайте есть! Реализована удобная навигация. Для тех, кто любит быстро и удобно что-то генерировать в одну команду.

Видео версия дайджеста:

Комментарии (0)