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