DevGang
Авторизоваться

PHP 8.4: ранний релиз и новые возможности для разработчиков 

Релизы PHP 8.4.0 и 8.4.1 появились раньше срока, 19 и 20 ноября 2024 года соответственно. В этой статье мы подробно рассмотрим новые возможности и функционал, которые привносят эти обновления. Ключевые изменения направлены на повышение эффективности, современности и удобства для разработчиков. 

Property Hooks

Ключевая особенность – Property Hooks, позволяющие более гибко и элегантно определять поведение доступа и изменения свойств в классах.

Пример:

class MagicClass {
    private array $data = [];

    public function __get($key) {
        return $this->data[$key] ?? null;
    }

    public function __set($key, $value) {
        $this->data[$key] = $value;
    }
}

$obj = new MagicClass();
$obj->name = "PHP";
echo $obj->name; // Outputs: PHP

Асимметричная видимость

Теперь можно задавать разные уровни доступа для чтения и записи свойств, например, сделать свойство доступным для чтения всем, а для записи – только изнутри класса.

Пример:

class ReadOnlyProperty {
    public string $data get;
    private string $data set;
}

Цепочка методов без скобок

В PHP 8.4 цепочки методов можно писать без лишних скобок, что избавляет от ненужных символов при работе с объектами.

$result = new MyClass()->firstMethod()->secondMethod();

Больше никаких лишних скобок при создании объектов, пример: (new MyClass())->. Теперь код понятнее и компактнее.

Новые функции массивов

В PHP 8.4 реализованы некоторые крайне необходимые утилиты для работы с массивами, такие как array_find() и, array_find_key() упрощающие повседневные операции.

Пример:

$numbers = [1, 2, 3, 4];
$found = array_find($numbers, fn($n) => $n > 2);

echo $found; // Outputs: 3

Эти функции делают работу с массивами более удобной, избавляя вас от запутанных циклов.

Улучшения под капотом PHP 8.4

  • Поддержка HTML5: Новый класс \Dom\HTMLDocument обеспечивает корректную обработку HTML5.
  • Функции для работы с многобайтовыми строками: Функция mb_ucfirst() упрощает работу с нелатинскими символами.
  • Ясность значений NULL: Устарели неявные параметры, допускающие значение NULL, что делает сигнатуры функций более ясными.

PHP 8.4: обновление для современного веб-размещения

PHP 8.4 – это не просто новые функции, а комплексное улучшение, делающее язык более современным, эффективным и удобным. Будь-то разработка на Laravel, WordPress или API, в PHP 8.4 найдётся полезное для каждого.

Источник:

#PHP
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу