Nowości w PHP 8
Warto wspomnieć, że przejście z PHP 7.x.x na PHP 8.x.x może wiązać się ze zmianami w kodzie.
Dzieje się tak, ponieważ zmienił się system raportowania błędów, niektóre funkcje również zostały zaktualizowane.
Omówmy kilka głośnych zmian związanych z premierą PHP 8.
JIT czyli Just In Time Compiler
JIT jest niewątpliwie najczęściej wspominaną nowością związaną z najnowszym wydaniem PHP. Pozwala on wykonywać programy szybciej niż interpretery.
Jego pierwsze pojawienie mogliśmy obserwować w PHP 7.4, gdzie był udostępniany jako eksperymentalna opcja. Dla stron internetowych nie jest to bardzo wartościowa zmiana jeśli chodzi o wydajność. Trzeba jednak pamiętać, że PHP to nie tylko strony internetowe.
Union types czyli Unie
Unie są znane z takich języków jak C++, gdzie używane jest typowanie statyczne. PHP dołącza więc do języków posiadających unie. Unia pozwala na definiowanie zestawu typów (dwóch lub więcej), zarówno dla danych wejściowych, jak i zwracanych przez program. Składnia języka PHP przed wersją 8 nie pozwalała wcześniej na używanie unii.
W przypadku funkcji typu void nie można definiować zwracanych typów, ze względu na to, że ten typ funkcji nie zwraca żadnej wartości.
Match expression
Słysząc to wyrażenie, można pomyśleć o „if”, ale match expression bliżej do „switch”. Jest jednak krótszy i wygodniejszy w użyciu.
Dzięki temu możemy zwrócić pasującą wartość na podstawie parametru wejściowego, bez dodatkowej składni jak np. break. Match używa silnego typowania(inaczej ===). Jeśli żaden warunek nie zostanie spełniony to wyrzucany jest wyjątek UnhandeledMatchError.
Atrybuty
W PHP 8 doczekaliśmy się atrybutów. To oznacza, że nie musimy już używać obejścia związanego z docblocks. Atrybuty można dodawać w dowolnym miejscu, trzeba je jednak zaimportować. Mogą wyglądać mniej więcej tak: $obj = new <<To jest testowy atrybut>> class(){};
Umiejętne użycie atrybutów znacząco pomoże zrozumieć kod podczas np. zmiany w zespole.
Wydajność PHP przy budowie stron internetowych i aplikacji webowych
Na sam koniec warto wspomnieć, że twórcy PHP ciągle poprawiają wydajność języka. Testy wykonane przez phoronix.com potwierdzają, że w wersji 8 nie jest inaczej.
Wzrost wydajności względem PHP 7.1.3 wynosi ok 25%!
Podsumowanie
Rozwój PHP sprawia, że jest to język, który cieszy się dużą popularnością przez wiele lat. Każda wersja PHP to lepsza wydajność, bezpieczeństwo i nowe feature’y, które usprawniają prace w tym języku. W tym artykule wybrałem jedynie kilka zmian i nowości, nie wspomniałem m. in o nowych funkcjach takich jak str_contains() czy str_starts_with() oraz mechanizmie WeakMaps.
PHP jeszcze długo będzie jednym z najważniejszych języków backendowych wykorzystywanych przy tworzeniu projektów, takich jak budowa stron internetowych lub tworzenie aplikacji mobilnych. Jego ciągły rozwój to niemal gwarancja takiego stanu rzeczy.