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