Bezpłatna wycena Twojego projektu

    Wypełnij krótki formularz i dowiedz się jaki, będzie koszt stworzenia strony internetowej, aplikacji web lub sklepu.


    zamknij wycenę
    zamknięcie menu

    PHP w wersji 8

    Autor: witold

    grafika PHP w wersji 8

    PHP 8 oficjalnie 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.

    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ść

    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. Jego ciągły rozwój to niemal gwarancja takiego stanu rzeczy.

    zdjęcie kontaktu

    Zadaj pytanie:

    +48 501 362 903