Nowości w PHP 8.2

Bartosz

Bartosz Stefanicki Sobota, 4.05.2024

Nowości w PHP 8.2

PHP w wersji 8.2 zostanie wydane 24 listopada 2022 roku. Sprawdźmy co nowego pokaże się tym razem.

1. Nowe typy zwracanych danych: true, false, null

Przed wersją PHP 8.2 możliwe jest zwracanie danych w łączonych postaciach (unions), np. ?string. Wówczas metoda może zwrócić string lub null. PHP 8.2 wprowadza nowe typy zwracanych danych: true, false i null.

function testMethod(): null
{
    return null;
} 

function testMethod(): true
{
    return true;
} 

2. Klasy tylko do odczytu (readonly classes)

Wersja PHP 8.1 wprowadziła modyfikator readonly do właściwości klas. Wersja PHP 8.2 wprowadza ten modyfikator do oznaczenia klasy, dzięki czemu można skrócić zapis i nie oznaczać po kolei wszystkich właściwości klas jako readonly.

class User
{
    public function __construct(
        public readonly string $firstName,
        public readonly integer $status,
        public readonly DateTime $createdAt,
    ) {}
}

Wersja w PHP 8.2 może wyglądać następująco:

readonly class User
{
    public function __construct(
        public string $firstName,
        public integer $status,
        public DateTime $createdAt,
    ) {}
}

3. Wycofanie dynamicznych właściwości

PHP 8.2 wycofuje dynamiczne właściwości w klasach. Od PHP 8.2 wyświetlane będzie ostrzeżenie E_DEPRECATED, od wersji 9.0 wyrzucany będzie wyjątek typu Error.

Ostrzeżenie do wersji PHP 9.0 można ukryć za pomocą atrybutu #[AllowDynamicProperties]. Przykład z RFC:

class User {
    public $name;
}

$user = new User();

// Assigns declared property User::$name.
$user->name = 'foo';

// Oops, a typo:
$user->nane = 'foo';

4. Wycofanie utf8_encode() i utf8_decode()

PHP 8.2 wycofuje utf8_encode() i utf8_decode(). Konwertowały one pomiędzy kodowaniem znaków ISO-8859-1 a UTF-8. Próba ich wykorzystania wywoła poniższy błąd:

    Deprecated: Function utf8_encode() is deprecated
    Deprecated: Function utf8_decode() is deprecated

Wskazywana alternatywa to wykorzystanie mb_convert_encoding().

Kalendarz wersji PHP

Zobacz także kalendarz wsparcia wersji PHP.

Warto zobaczyć

Szukasz hostingu?

Jest dużo firm oferujących hosting, ale którą wybrać? Przedstawiamy zestawienie najciekawszych propozycji i ranking hostingów (Lipiec 2024).

Data publikacji: Poniedziałek, 1.08.2022. Tagi: hosting, php, skrypty, top10. Źródło obrazka Pixabay, Font awesome.

Komentarze


© 2005-2024 itporady.pl. Wszystkie prawa zastrzeżone.

Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką prywatności. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.