Sobes.tech
Middle

Какви нови възможности бяха добавени във версия PHP 7.4?

sobes.tech AI

Отговор от AI

  • Типизирани свойства на класове.
  • Стрелкови функции (кратък синтаксис за анонимни функции).
  • Опционален оператор за сливане с null (??=).
  • Preloading (предварително зареждане) за подобряване на производителността.
  • Оператор за разширяване в масиви (...).
  • Слаби препратки (Weak References) за управление на паметта.
  • Ограничена ковариантност и контравариантност на типовете.
  • CFI (персонализирани ini файлове) — поддръжка за персонализирани ini файлове.
  • Устаряване на някои функции и възможности (например, алиаси is_countable, FILTER_SANITIZE_MAGIC_QUOTES).
  • Подобрения в FFI (Интерфейс на външни функции).
  • Разделяне на хиляди в числови литерали (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