PHP 8.4 – duża aktualizacja języka

PHP 8.4 – duża aktualizacja języka

Nowa wersja zawiera wiele nowych możliwości, takich jak hooki właściwości, asymetryczny zakres widoczności właściwości, aktualizacja API DOM, poprawiona wydajność, usunięto błędy i wiele więcej.

Główne zmiany

  • Hooki właściwości zapewniają wsparcie dla obliczanych właściwości, które mogą być rozpoznawane przez IDE i narzędzia analizy statycznej, bez konieczności pisania komentarzy DocBlock, które mogą być niezgodne. Ponadto umożliwiają przeprowadzanie niezawodnego przetwarzania wstępnego lub następczego wartości, bez konieczności sprawdzania, czy w klasie istnieje odpowiedni getter lub setter.
  • Asymetryczny zakres widoczności zapisu właściwości może być teraz kontrolowany niezależnie od zakresu widoczności odczytu właściwości, co zmniejsza konieczność stosowania szablonowych metod getterów do ujawniania wartości właściwości bez możliwości jej zmiany z zewnątrz klasy.
  • Nowy atrybut #[Deprecated] rozszerza istniejący mechanizm oznaczania jednostki jako przestarzałej dla funkcji użytkowników, metod i stałych klas.
  • Nowe API DOM, które wspiera analizę dokumentów HTML5 zgodnie z normami, naprawia kilka długotrwałych błędów w zachowaniu DOM i dodaje kilka funkcji, które uprzyjemniają pracę z dokumentami. API DOM jest dostępne w przestrzeni nazw Dom. Dokumenty korzystające z nowego API DOM mogą być tworzone za pomocą klas DomHTMLDocument i DomXMLDocument.
  • Nowy obiekt BcMathNumber pozwala na użycie stylu zorientowanego obiektowo oraz standardowych operatorów matematycznych podczas pracy z liczbami o dowolnej precyzji. Te obiekty są niemutowalne i implementują interfejs Stringable, co oznacza, że mogą być używane w kontekście łańcuchowym, na przykład echo $num.
  • Dodano funkcje array_find(), array_find_key(), array_any() i array_all().
  • Dodano klasy podrzędne PdoDblib, PdoFirebird, PdoMySql, PdoOdbc, PdoPgsql, PdoSqlite wizytówki, dziedziczące po PDO.
  • Do właściwości i metod dopiero co zainicjowanego obiektu można teraz odwoływać się, nie opakowując wyrażenia new w okrągłe nawiasy. Przykład: new MyClass()->method() bez nawiasów.
  • Nowe klasy, interfejsy i funkcje i wiele więcej…

Źródło: linux.org.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster