Назад к вопросам
Middle
95
questionbank

Какие новые возможности появились в версии PHP 7.4?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

  • Типизированные свойства классов.
  • Стрелочные функции (краткий синтаксис для анонимных функций).
  • Необязательный оператор объединения с null (??=).
  • Предзагрузка (Preloading) для повышения производительности.
  • Оператор расширения в массивах (...).
  • Слабые ссылки (Weak References) для управления памятью.
  • Ограниченная ковариантность и контравариантность типов.
  • CFI (Custom ini-файлы) — поддержка пользовательских ini-файлов.
  • Устаревание (Deprecations) некоторых функций и возможностей (например, алиасы is_countable, FILTER_SANITIZE_MAGIC_QUOTES и др.).
  • Улучшения в FFI (Foreign Function Interface).
  • Разделение тысяч в числовых литералах (1_000_000).
<?php

// Типизированное свойство
class User
{
    public string $name;
    public ?int $age; // Может быть null
}

// Стрелочная функция
$func = fn(int $a, int $b) => $a + $b;
echo $func(1, 2); // 3

// Оператор объединения с null
$data = [
    'key' => null,
];
$value ??= 'default';
echo $value; // default

// Оператор расширения в массивах
$arr1 = [1, 2];
$arr2 = [3, 4];
$merged = [...$arr1, ...$arr2]; // [1, 2, 3, 4]
<?php

// WeakReference
$obj = new stdClass;
$weakref = WeakReference::create($obj);

unset($obj); // Объект удален

// Проверка
var_dump($weakref->get()); // null