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().
Cykl życia wersji PHP
Wersja PHP | Data wydania | Koniec wsparcia | Koniec poprawek bezpieczeństwa |
---|---|---|---|
PHP 5.6 | 27.04.2014 | 19.01.2017 | 31.12.2018 |
PHP 7.0 | 1.12.2015 | 4.01.2018 | 10.01.2019 |
PHP 7.1 | 30.11.2016 | 1.12.2018 | 1.12.2019 |
PHP 7.2 | 28.11.2017 | 30.11.2019 | 30.11.2020 |
PHP 7.3 | 4.12.2018 | 6.12.2020 | 6.12.2021 |
PHP 7.4 | 26.11.2019 | 28.11.2021 | 28.11.2022 |
PHP 8.0 | 24.11.2020 | 26.11.2022 | 26.11.2023 |
PHP 8.1 | 23.11.2021 | 25.11.2023 | 25.11.2024 |
PHP 8.2 | 24.11.2022 | 24.11.2024 | 24.11.2025 |
Warto zobaczyć
Szukasz hostingu?
Jest dużo firm oferujących hosting, ale którą wybrać? Przedstawiamy zestawienie najciekawszych propozycji i ranking hostingów (Wrzesień 2023).
Data publikacji: 01.08.2022 r. Tagi: hosting, php, skrypty, top10. Źródło obrazka porady: Pixabay.