co nowego w PHP 7.4? Najlepsze funkcje 10, które musisz wiedzieć

PHP7.4

PHP7.4

Dlaczego niektóre języki programowania są tak popularne, podczas gdy inne są rzadko używane do tworzenia projektów, a czasami nawet popadają w zapomnienie? Jest ku temu wiele powodów. Prostota składni, funkcjonalności, sieci programistycznej i wsparcia społeczności wpływa na poziom popytu na każdą technologię.

ponieważ świat IT stale się rozwija, technologie kodowania muszą nadążać za zmieniającym się środowiskiem poprzez dostarczanie nowych funkcji, aktualizacji i ulepszeń. Jest to jeden z najważniejszych elementów sukcesu językowego.

w naszej firmie Lubię PHP ze względu na częste ulepszenia wprowadzane każdego roku i wierzę, że będzie ono popularne przez wiele lat. Od wydania PHP 5 w 2004 roku jego wydajność podwoiła się, a może nawet potroiła. Jest to jeden z powodów, dla których używamy PHP w naszej firmie zajmującej się tworzeniem oprogramowania.

nic dziwnego, że drugi rok z rzędu PHP znajduje się wśród 10 najpopularniejszych języków programowania według StackOverflow Developer Survey 2019. W tym roku zajęła 8 miejsce, czyli o jedną pozycję wyżej niż w roku poprzednim.

już za 7 dni, w czwartek, 28 listopada, zobaczymy nową wersję PHP — PHP 7.4, która stanie się jedną z najbardziej funkcjonalnych wersji w historii. W tym artykule wymienię i omówię zaktualizowany Przegląd funkcji PHP 7.4. Zaczynajmy!

obsługa funkcji strzałek

ponieważ funkcje anonimowe lub zamknięcia są stosowane głównie w JS, wydają się być gadatliwe w PHP. Ich wdrażanie i procedury utrzymania są również bardziej złożone.

wprowadzenie obsługi funkcji strzałek umożliwi programistom PHP radykalne oczyszczenie ich kodu i uczynienie składni bardziej zwięzłą. W rezultacie uzyskasz wyższy poziom czytelności i prostoty kodu. Spójrz na poniższy przykład.

więc, jeśli wcześniej musiałeś napisać ten fragment kodu:

function cube($n){return ($n * $n * $n);}$a = ;$b = array_map('cube', $a);print_r($b);

w PHP 7.4 będziesz mógł go przepisać w następujący sposób:

$a = ;$b = array_map(fn($n) => $n * $n * $n, $a);print_r($b);

dzięki możliwości tworzenia schludnego, krótszego kodu, proces tworzenia stron internetowych będzie przebiegał szybciej, co pozwoli Ci zaoszczędzić czas.

Obsługa typowanych właściwości

wprowadzenie typowanych właściwości w następnej wersji będzie prawdopodobnie uważane za jedną z najważniejszych zaktualizowanych funkcji PHP. O ile wcześniej nie było możliwości użycia metod deklaracji dla zmiennych klasowych i właściwości (w tym właściwości statycznych), teraz programiści mogą łatwo kodować je bez tworzenia specyficznych metod getter i setter.

ze względu na typy deklaracji (z wyjątkiem void i callable), można używać typów nullable, int, float, array, string, object, iterable, self, bool i parent.

jeśli programista sieci Web spróbuje przypisać nieistotną wartość z typu, na przykład deklarując $name jako string, otrzyma komunikat TypeError.

podobnie jak funkcje strzałek, wpisane właściwości również pozwalają inżynierom PHP skrócić i wyczyścić ich Kod

Wstępne ładowanie

głównym celem tej fajnej nowej funkcji jest zwiększenie wydajności PHP 7.4. Mówiąc najprościej, wstępne ładowanie jest procesem ładowania plików, frameworków i bibliotek w OPcache i jest zdecydowanie świetnym dodatkiem do nowego wydania. Na przykład, jeśli używasz frameworka, jego pliki musiały zostać pobrane i skompilowane dla każdego żądania.

podczas konfiguracji OPcache, po raz pierwszy te pliki kodu uczestniczą w przetwarzaniu żądania, a następnie są każdorazowo sprawdzane pod kątem zmian. Wstępne ładowanie umożliwia serwerowi załadowanie określonych plików kodu do pamięci współdzielonej. Ważne jest, aby pamiętać, że będą one stale dostępne dla wszystkich kolejnych żądań bez dodatkowego sprawdzania zmian plików.

warto również wspomnieć, że podczas wstępnego ładowania PHP eliminuje również niepotrzebne includes i rozwiązuje zależności klas oraz powiązania z cechami, interfejsami i innymi.

Covariant returns& contravariant parameters

w tej chwili PHP ma głównie niezmienne typy parametrów i niezmienne typy zwracane, które prezentują pewne ograniczenia. Wraz z wprowadzeniem parametrów kowariantnych (typy są uporządkowane od bardziej specyficznych do bardziej ogólnych) i kontrawariantnych (typy są uporządkowane od bardziej ogólnych do bardziej specyficznych), Programiści PHP będą mogli zmienić typ parametru na jeden z jego supertypów. Zwracany typ z kolei może być łatwo zastąpiony przez jego Podtyp.

słabe Referencje

w PHP 7.4 Klasa WeakReference pozwala programistom na zapisanie linku do obiektu, który nie zapobiega jego zniszczeniu. Nie myl go z klasą weakref rozszerzenia Weakref. Dzięki tej funkcji mogą łatwiej implementować struktury podobne do pamięci podręcznej.

zobacz przykład użycia tej klasy:

<?php$obj = new stdClass;$weakref = WeakReference::create($obj);var_dump($weakref->get());unset($obj);var_dump($weakref->get());?>

zauważ również, że nie możesz serializować słabych referencji.

Coalescing assign operator

operator coalescce to kolejna nowa funkcja dostępna w PHP 7.4. Jest to bardzo pomocne, gdy trzeba zastosować Operator trójdzielny razem z isset(). Umożliwi to zwrócenie pierwszego argumentu, jeśli istnieje i nie jest NULL. Jeśli nie, zwróci po prostu drugi argument.

oto przykład:

<?php// Fetches the value of $_GET and returns 'nobody'// if it does not exist.$username = $_GET ?? 'nobody';// This is equivalent to:$username = isset($_GET) ? $_GET : 'nobody';// Coalescing can be chained: this will return the first// defined value out of $_GET, $_POST, and// 'nobody'.$username = $_GET ?? $_POST ?? 'nobody';?>

Operator spreadu w wyrażeniu tablicy

PHP 7.4 da inżynierom możliwość używania operatorów spreadu w tablicach, które są szybsze w porównaniu do array_merge. Są ku temu dwa kluczowe powody. Po pierwsze, Operator spread jest uważany za strukturę języka, a array_merge jest funkcją. Drugim powodem jest to, że teraz twój czas kompilacji może być zoptymalizowany dla tablic stałych. W rezultacie zwiększysz wydajność PHP 7.4.

spójrz na przykład rozpakowania argumentu w wyrażeniu tablicy:

$parts = ;$fruits = ;var_dump($fruits);

możliwe będzie również wielokrotne rozszerzenie tej samej tablicy. Ponadto, ponieważ normalne elementy mogą być dodawane przed lub po operatorze spread, Programiści PHP będą mogli używać jego składni w tablicy.

nowy niestandardowy mechanizm serializacji obiektów

w nowej wersji PHP dostępne są dwie nowe metody: __serialize i __unserialize. Łącząc wszechstronność interfejsu Serializowalnego z podejściem do implementacji metod _ _ sleep / _ _ wakeup, ten mechanizm serializacji pozwoli programistom PHP uniknąć problemów związanych z dostosowywaniem istniejących metod. Dowiedz się więcej o tej funkcji PHP.

Reflectionapi dla referencji

biblioteki, takie jak symfony / var-dumper, w dużej mierze polegają na ReflectionAPI do dokładnego wyświetlania zmiennych. Wcześniej nie było odpowiedniego wsparcia dla Reflection, co zmusiło te biblioteki do polegania na hakach do wykrywania referencji. PHP 7.4 dodaje klasę ReflectionReference, która rozwiązuje ten problem.

wsparcie dla wyrzucania WYJĄTKÓW z __toString()

wcześniej nie było możliwości wyrzucania WYJĄTKÓW z metody __toString. Powodem tego jest to, że konwersja obiektów na łańcuchy znaków jest wykonywana w wielu funkcjach biblioteki standardowej i nie wszystkie z nich są gotowe do poprawnego „przetwarzania” WYJĄTKÓW. W ramach tego RFC przeprowadzono kompleksowy audyt konwersji ciągów w bazie kodu i to ograniczenie zostało usunięte.

myśli końcowe

już za tydzień pojawi się PHP 7.4. Istnieje wiele nowych funkcji PHP, które zmniejszają zużycie pamięci i znacznie zwiększają wydajność PHP 7.4. Zyskasz możliwość uniknięcia pewnych wcześniejszych ograniczeń tego języka programowania, pisania czystszego kodu i szybszego tworzenia rozwiązań internetowych.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.