Подборка свежих новостей, инструментов, видео и материалов из мира PHP.
Приятного чтения!
❗ Это выпуски исправлений безопасности.
В первом выпуске 2023 года команда JetBrains стремится повысить производительность и ускорить индексирование, добавить интеграцию с 3v4l.org, улучшить поддержку дженериков, а также тегов PHPStan и Psalm.
Большинство новостей ядра PHP подробно освещаются в серии PHP Core Roundup от PHP Foundation, мы лишь быстро по ним пробежимся:
В PHP 8.3 появится синтаксис для поиска констант классов:
1class Foo {2 const BAR = 'bar';3}4$bar = 'BAR';5// Новый синтаксис в PHP 8.3:6echo Foo::{$bar};
Начиная с версии PHP 8.3, при использовании классов Date/Time, PHP будет выбрасывать более специфические исключения, если что-то пойдет не так.
Процедурный стиль функций Date/Time не затрагивается и будет продолжать использовать предупреждения и ошибки, как и сейчас.
Ilija Tovilo и Larry Garfield предложили добавить Swift-подобный синтаксис, позволяющий свойствам иметь отдельную (" асимметричную") видимость для операций чтения и записи.
1class Foo {2 public private(set) string $bar;3}
В настоящее время голосование проходит медленно и функция не набирает достаточного количества голосов, чтобы достичь порога в 2/3.
George Peter Banyard предлагает добавить параметр SameSite во все соответствующие функции.
Thomas Hruska реализовал cubiclesoft/php-ext-qolfuncs - набор функций улучшения качества жизни, предназначенных для ядра PHP.
В наборе есть несколько довольно интересных
дополнений: str_splice(), str_realloc(), fread_mem(), is_reference(), refcount() и это только некоторые из
них. С нетерпением ждём появления официального RFC.
amphp/amp 3.0.0 – Неблокирующий параллельный фреймворк для PHP-приложений получил крупное обновление. Теперь он основан на корутинах, использующих файберы вместо генераторов, а также использует revoltphp/event-loop.
Также были обновлены многочисленные пакеты экосистемы Amphp; вот лишь несколько примеров: amphp/pipeline и amphp/process.
PHP-DI 7.0 – В этом обновлении пакета контейнера инъекции
зависимостей добавлена поддержка PHP 8.0+, PHPDoc-аннотация @Inject заменена атрибутом #[Inject], добавлена
совместимость с PSR-11 2.0 и другие улучшения.
php-ffi/var-dumper – Обёртка
для symfony/var-dumper, позволяющая сбрасывать типы FFI с помощью
функций dd() и dump().
olvlvl/composer-attribute-collector – Удобный и практически незатратный способ получения целей атрибутов PHP 8.
PHPCSStandards/PHPCSExtra – Коллекция дополнительных правил для использования с PHP_CodeSniffer.
cerbero90/enum – PHP-пакет для расширения функциональности перечислений. По сути, это трейт, который вы можете добавить к своим перечислениям, чтобы наделить их множеством полезных функций.
NoiseByNorthwest/php-spx – Простой и понятный модуль для профилирования PHP со встроенным веб-интерфейсом.
PXP – Супернабор PHP с расширенными возможностями синтаксиса и времени выполнения.
Ryan Chandler начал с разработки парсера PHP на языке Rust. Проект перерос в целую идею супернабора языков.
Ранее уже было несколько попыток создать такой суперсет для PHP (marcioAlmada/yay или nunomaduro/plus-1), но этот выглядит довольно многообещающе.
По всей видимости, существует ещё одна подобная попытка, также разработанная на Rust: Ara Programming Language - статически типизированный язык программирования, который компилируется непосредственно в PHP.
Вышел PHP 8.2: разбираем главные изменения Александр Макаров, Валентин Удальцов и Владлен Гилязетдинов разбираются, какие новые фичи появились в PHP 8.2, насколько эти изменения глобальны и какую роль в них сыграл проект РHP Foundation.
Нажимая «Подписаться» я даю согласие на обработку персональных данных.
Мы заботимся о ваших данных и не будем злоупотреблять доверием.