Długo oczekiwana aktualizacja powszechnie używanego języka skryptowego po stronie serwera, PHP 8.3, została oficjalnie wydana, wprowadzając szereg nowych funkcji i ulepszeń. Jawne wpisywanie stałych klas, głębokie klonowanie właściwości tylko do odczytu i rozszerzona funkcjonalność losowości to jedne z nowych możliwości dostępnych teraz dla programistów korzystających z poręcznego zestawu narzędzi PHP 8.3 do tworzenia dynamicznych stron internetowych.
Opublikowany publicznie 23 listopada PHP 8.3 można pobrać z php.net. Podstawą tej ważnej aktualizacji jest wprowadzenie wpisanych stałych klas. Dzięki tej aktualizacji PHP 8.3 rozszerza obsługę deklarowania typów klas, interfejsów, cech i stałych wyliczeniowych. Warto zauważyć, że deklaracje typów stałych klasy uwzględniają wszystkie deklaracje typów zatwierdzone przez PHP, z wyjątkiem typów void, callable i Never. Niedostępność typów pustych i wywoływalnych ma swoje źródło w problemach poruszonych podczas dyskusji RFC dotyczących właściwości typowanych w wersji 2. Tymczasem „nigdy” nie ma związku z kontekstem stałych, dlatego jest to wyjątek.
Kolejną niezwykłą cechą PHP 8.3 jest umożliwienie głębokiego klonowania właściwości tylko do odczytu. Umożliwia to modyfikację właściwości tylko do odczytu w ramach metody magicznej __clone. Ponadto podczas procesu klonowania można teraz ponownie inicjować klasy tylko do odczytu. Co ciekawe, PHP 8.3 umożliwia także klasom nietylko do odczytu rozszerzenie klas tylko do odczytu, dając programistom większą elastyczność w kodzie.
Inne ulepszenia w PHP 8.3 obejmują nowy atrybut [#\Override], który wyraża intencję w kodzie. Po dodaniu tego atrybutu do metody silnik PHP 8.3 sprawdza, czy metoda o tej samej nazwie istnieje już w klasie nadrzędnej lub w którymkolwiek z zaimplementowanych interfejsów. Jeśli nie zostanie znaleziona taka metoda, zostanie wywołany błąd w czasie kompilacji.
Znaczącym ulepszeniem lintera wiersza poleceń jest możliwość akceptowania zmiennych wejściowych dla nazw plików przeznaczonych do lintingu. Rozszerzenie Random, wprowadzone w PHP 8.2, zawiera teraz nową metodę, która tworzy losowe ciągi znaków zawierające tylko określone bajty. Umożliwia programistom łatwe generowanie losowych identyfikatorów, takich jak nazwy domen lub ciągi numeryczne o nieograniczonej długości.
Wydanie zawiera także nową funkcję json_validate(), która sprawdza, czy ciąg znaków stanowi prawidłowy kod JSON. Dodatkowo, klasy anonimowe mogą być teraz dostępne tylko do odczytu, co wzbogaca listę atrakcji PHP 8.3.
Warto wspomnieć, że platformy takie jak AppMaster mogą być niezwykle realną opcją dla programistów, którzy chcą szybko projektować i wdrażać wysoce skalowalne i wydajne aplikacje. Ta platforma no-code pomaga uprościć proces tworzenia aplikacji, zapewniając szybszy czas wprowadzenia produktu na rynek. Funkcje platformy AppMaster, takie jak wizualne tworzenie modeli danych (schematu bazy danych), logika biznesowa (określane jako procesy biznesowe), REST API i punkty końcowe WSS, mogą skutecznie uzupełniać aplikacje oparte na PHP.
Poprzednia duża aktualizacja, PHP 8.2, wydana w grudniu ubiegłego roku, była znana z wprowadzenia klas tylko do odczytu. Pociąg wzrostu PHP wydaje się nie do zatrzymania, a programiści z całego spektrum nie mogą się doczekać, aby poznać dalsze udoskonalenia, jakie przygotował dla nich PHP.