Middle
Koje nove mogućnosti su se pojavile u verziji PHP 7.4?
sobes.tech АИ
Одговор од АИ
- Tipizirane osobine klasa.
- Strelice funkcije (skraćeni sintaks za anonimne funkcije).
- Opcioni operator spajanja sa null (
??=). - Preloading (predučavanje) za poboljšanje performansi.
- Operator proširenja u nizovima (
...). - Slabe reference (Weak References) za upravljanje memorijom.
- Ograničena kovarijantnost i kontravariantnost tipova.
- CFI (prilagođeni ini fajlovi) — podrška za prilagođene ini fajlove.
- Zastarele funkcije i mogućnosti (npr. aliasi
is_countable,FILTER_SANITIZE_MAGIC_QUOTES). - Unapređenja u FFI (Interfejs spoljašnjih funkcija).
- Razdvajanje hiljada u numeričkim literali (
1_000_000).
<?php
// Tipizirana svojina
class User
{
public string $name;
public ?int $age; // Može biti null
}
// Strelica funkcija
$func = fn(int $a, int $b) => $a + $b;
echo $func(1, 2); // 3
// Operator spajanja sa null
$data = [
'key' => null,
];
$value ??= 'default';
echo $value; // default
// Operator proširenja u nizovima
$arr1 = [1, 2];
$arr2 = [3, 4];
$merged = [...$arr1, ...$arr2]; // [1, 2, 3, 4]
<?php
// WeakReference
$obj = new stdClass;
$weakref = WeakReference::create($obj);
unset($obj); // Objekat obrisan
// Provera
var_dump($weakref->get()); // null