Introduce New Features in PHP 7

Utpal Biswas
Utpal Biswas

Follow

Jan 2, 2019 – 3 min read

Społeczność PHP jest bardzo podekscytowana powitaniem najnowszego wydania. Nie oznacza to jednak, że php jest w stagnacji. Zaktualizowano wiele rzeczy w tym czasie, ale PHP 7 jest całkowicie nowym wydaniem z kilkoma ekscytującymi funkcjami.

Szybkość jest niesamowitą cechą, którą PHP 7 przynosi w tym wydaniu. Programiści pracowali bardzo ciężko nad refaktoryzacją kodu PHP w celu zmniejszenia zużycia pamięci i zwiększenia wydajności i z pewnością im się to udało. Wraz z tym jest kilka innych funkcji, które opiszę poniżej.

Jak wiemy PHP jest uważany za język słabo typowany. W istocie oznacza to, że PHP nie wymaga deklarowania typów danych. Zmienne nadal mają przypisane typy danych, ale możesz robić radykalne rzeczy, takie jak dodawanie łańcucha do liczby całkowitej bez powodowania błędu. Deklaracje typów mogą pomóc Ci zdefiniować, co powinno się wydarzyć, abyś otrzymał oczekiwane rezultaty. Może to również sprawić, że twój kod będzie łatwiejszy do odczytania. Przyjrzymy się kilku konkretnym przykładom poniżej

Wskazówki dotyczące typów skalarnych

W PHP 7 zostały dodane typy skalarne. Konkretnie: int, float, string i bool.

Dodając podpowiedzi do typów skalarnych i umożliwiając ścisłe wymagania, mamy nadzieję, że będzie można pisać bardziej poprawne i samo-dokumentujące się programy PHP. Daje to także większą kontrolę nad kodem i może sprawić, że kod będzie łatwiejszy do odczytania.

tutaj przykład z nie ścisłym

function total(float $a, float $b) {
return $a + $b;
}

wynikiem

total(2.8, "3.2");
// string "3.2" changed to float(3.2) no notice
//returns float(6)

wynikiem z ostrzeżeniem

total(2, "1 week"); 
// int(2) changed to float(2.0) and string "1 week" changed to float(1.0) but you will get a "Notice: A non well formed numeric value encountered"
//returns float(3)

Jeśli wystąpi niedopasowanie deklaracji typu, przy włączonym ścisłym nastroju wyrzucany jest „Fatalny błąd”. Tutaj jest przykład

declare(strict_types=1);function total(float $a, float $b) {
return $a + $b;
}total(2, "1 week");
// Fatal error: Uncaught TypeError: Argument 2 passed to total() must be of the type float, string giventotal(2.5, 1);
// int(1) change to float(1.0)
//returns float(3.5)

jak widzimy, kiedy używamy ścisłego nastroju „on” ostrzeżenie stało się Błędem, który jest bardzo pomocny i uporządkowany sposób, aby zrozumieć i uzyskać pożądane wyjście z bazy kodu.

Deklaracje typu powrotu

PHP 7 obsługuje również deklaracje typu powrotu, które obsługują wszystkie te same typy co argumenty. Aby określić typ zwrotu, dodajemy dwukropek, a następnie typ tuż przed otwierającym nawiasem klamrowym.

function total(float $a, float $b) : float {}

Nowe operatory :

PHP 7 przynosi nam również kilka nowych operatorów. Pierwszym z nich, który zamierzamy zbadać jest operator statku kosmicznego. Operator statku kosmicznego, lub połączony operator porównania, jest miłym dodatkiem do języka, uzupełniającym operatory greater-than i less-than. like

$compare = 2 <=> 1
2 < 1? return -1
2 = 1? return 0
2 > 1? return 1

Operator Null Coalesce

Inny nowy operator, Null Coalesce Operator, jest efektywnie sławnym operatorem if-set-or. Zwraca on lewy operand, jeśli nie jest NULL, w przeciwnym razie zwróci prawy. like

$name = $firstName ?? "Guest";

Przed 7.X było to like

if (!empty($firstName)) $name = $firstName;
else $name = "Guest";

Co czyni to jeszcze bardziej potężnym, to fakt, że możesz je układać w stos! Ta operacja sprawdzi każdy element od lewej do prawej i kiedy znajdzie taki, który nie jest null, użyje tej wartości. like

$name = $firstName ?? $username ?? $placeholder ?? "Guest";

To jest zabawa, czyż nie ??

Jeśli jesteś gotowy, aby zacząć bawić się z PHP7 idź rzucić wszystkie zmiany w PHP 7. X

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.