
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
