Sobes.tech
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