Új funkciók bemutatása a PHP 7-ben

Utpal Biswas
Utpal Biswas

Follow

január 2, 2019 – 3 min read

A PHP közösség nagy izgalommal várja a legújabb kiadást. De ez nem jelenti azt, hogy a php jelenleg stagnál. Annyi mindent frissítettek ezalatt az idő alatt, de a PHP 7 teljesen új kiadás, néhány izgatott funkcióval.

A SPEED az a csodálatos funkció, amit a PHP 7 hoz ebben a kiadásban. A fejlesztők nagyon keményen dolgoztak a PHP kód refaktorálásán, hogy csökkentsék a memóriafogyasztást és növeljék a teljesítményt, és minden bizonnyal sikerrel jártak. ezzel együtt van néhány más funkció is, amit alább leírok.

Amint tudjuk, a PHP-t gyenge tipizált nyelvnek tekintik. Ez lényegében azt jelenti, hogy a PHP nem követeli meg az adattípusok deklarálását. A változókhoz továbbra is tartoznak adattípusok, de olyan radikális dolgokat is megtehetünk, mint például egy sztring hozzáadása egy egész számhoz anélkül, hogy hibát eredményezne. A típusdeklarációk segíthetnek meghatározni, hogy mi történjen, hogy a várt eredményt kapjuk. Ez a kódot is könnyebben olvashatóvá teheti. Az alábbiakban néhány konkrét példát fogunk rövidesen megnézni

Skalár típusú súgók

A PHP 7-gyel mostantól kiegészültünk a skalár típusokkal. Konkrétan: int, float, string és bool.

A skalár típusokra vonatkozó tippek hozzáadásával és a szigorú követelmények engedélyezésével remélhetőleg korrektebb és öndokumentálóbb PHP programokat lehet írni. Emellett nagyobb kontrollt ad a kód felett, és könnyebben olvashatóvá teheti a kódot.

Itt egy példa nem strict

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

kimenet

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

kimenet figyelmeztetéssel

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)

Ha típusdeclaration mismatch történik, “Fatal Error”-t dobunk strict hangulat bekapcsolásával. itt egy példa

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)

mint látjuk, amikor a strict hangulatot “on” használjuk, a figyelmeztetés Error lett, ami nagyon hasznos és strukturált módja annak, hogy megértsük és megkapjuk a kívánt kimenetet a kódbázisból.

Return Type Declarations

APHP 7 támogatja a Return Type Declarations-t is, amely ugyanazokat a típusokat támogatja, mint az argumentumok. A visszatérési típus megadásához egy kettőspontot, majd a típust közvetlenül a nyitó szögletes zárójel előtt adjuk meg.

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

Új operátorok :

APHP 7 néhány új operátort is hoz nekünk. Az első, amit meg fogunk vizsgálni, az űrhajó operátor. Az űrhajó-operátor, vagyis a kombinált összehasonlító operátor szépen kiegészíti a nyelvet, kiegészítve a nagyobb, mint és a kisebb, mint operátorokat. like

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

Null Coalesce operátor

A másik új operátor, a Null Coalesce operátor gyakorlatilag a legendás if-set-or. Visszaadja a bal oldali operandusát, ha az nem NULL, ellenkező esetben a jobb oldali operandusát. like

$name = $firstName ?? "Guest";

A 7.X előtt ez így volt

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

Mitől ez még erősebb lesz, az az, hogy ezeket egymásra lehet halmozni! Ez a művelet minden elemet ellenőrizni fog balról jobbra, és ha talál egy olyat, ami nem null, akkor azt az értéket fogja használni. like

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

Ez vicces, nem igaz ??

Ha készen állsz arra, hogy elkezdj játszani a PHP7-el, menj és dobd ki a PHP 7 összes változását. X

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.