zamknięcie menu

Nowości w programowaniu PHP w wersji 8

Autor: Witold

PHP 8 oficjalnie zostało wydane 26 listopada 2020 roku. Ten język jest rozwijany od 1994. Najnowsza premiera przynosi szereg zmian, począwszy od JIT(Just In Time Compilation) skończywszy na przebudowie raportowania błędów.

grafika PHP w wersji 8

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.

zdjęcie kontaktu