Вы меня, наверное потеряли, но я нашелся и готов рассказать кое-что :) В общем:
- Сегодня 7 ноября последний релиз кандидат PHP 8.4 (затеган он был уже пару дней назад, ну ок)
- Актуализировал список всех фич PHP 8.4 на сегодня, включая Lazy objects, напомню ленивая инициализация или отложенная инициализация - распространенный шаблон, используемый фреймворками для создания прокси-объектов, ленивая загрузка которых используется в компонентах внедрения зависимостей для предоставления ленивых сервисов, которые полностью инициализируются только при необходимости. Некоторые ORM делают свои сущности ленивыми, позволяя объектам гидратировать себя из базы данных только при обращении.
Вот и PHP 8.4 в этом RFC позволит нам создавать ленивые объекты:
class MyClass
{
public function __construct(private int $foo)
{
// Здесь сложная логика инициализации
}
// ...
}
$initializer = static function (MyClass $ghost): void {
$ghost->__construct(123);
};
$reflector = new ReflectionClass(MyClass::class);
$object = $reflector->newLazyGhost($initializer);
// на этом этапе $object - ленивый призрачный объект
//Для создания ленивого прокси необходимо использовать метод newLazyProxy()
$initializer = static function (MyClass $proxy): MyClass {
return new MyClass(123);
};
$reflector = new ReflectionClass(MyClass::class);
$object = $reflector->newLazyProxy($initializer);
так же Ассиметричную видимость свойств, функции для работы с массивом array_find, array_find_key, array_any, array_all, новые функции mb_ucfirst и mb_lcfirst, небольшие дополнения с деприкейтами типа "Неявные типы, допускающих NULL ", "Вызов session_set_save_handler() с более чем 2 аргументами" и константой E_STRICT.
- Как уже запостил @vudaltsov в посте Пыха о том что действительно следующая версия PHP будет PHP 8.5, а не как все ожидали 9.0 (на просторах интернета я уже видел статьи что нового в php 9.0 😁) и в UPGRADING уже пошли первые изменения, следить за которыми можно в статье PHP 8.5 , так сказать продолжаем в том же духе.
- Напоминаю что вчера у Валентина прошел лайв кодинг добавления поддержки PHP 8.4 в Symfony PropertyInfo https://youtu.be/LjJtb-kFYZg, что полезно будет посмотреть, хоть вывод неутешительный на данный момент 😁 ну, а завтра 8 ноября на канале Пыха пройдет Пыхап, для всех желающих посмотреть.