Komunita PHP s nadšením vítá tuto nejnovější verzi. Neznamená to však, že by php v této době stagnovalo. Mezitím aktualizovali tolik věcí, ale PHP 7 je zcela nové vydání s několika nadšenými funkcemi.
Rychlost je úžasná funkce, kterou PHP 7 v tomto vydání přináší. Vývojáři velmi tvrdě pracovali na refaktorizaci kódu PHP, aby snížili spotřebu paměti a zvýšili výkon, a určitě se jim to podařilo. spolu s tím je zde několik dalších funkcí, které popíšu níže.
Jak víme, PHP je považováno za slabě typovaný jazyk. V podstatě to znamená, že PHP nevyžaduje deklaraci datových typů. Proměnné mají stále přiřazené datové typy, ale můžete dělat radikální věci, jako je přidání řetězce k celému číslu, aniž by to vedlo k chybě. Deklarace typů vám pomůže definovat, co má nastat, abyste získali očekávané výsledky. Díky tomu může být váš kód také lépe čitelný. Níže se podíváme na několik konkrétních příkladů
Nápovědy ke skalárním typům
S PHP 7 přibyly skalární typy. Konkrétně: int, float, string a bool.
Přidáním nápovědy ke skalárním typům a umožněním přísných požadavků doufáme, že bude možné psát korektnější a sebedokumentačnější programy PHP. Dává také větší kontrolu nad kódem a může usnadnit jeho čtení.
Zde je příklad s non strict
function total(float $a, float $b) {
return $a + $b;
}
výstup
total(2.8, "3.2");
// string "3.2" changed to float(3.2) no notice
//returns float(6)
výstup s varováním
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)
Pokud dojde k neshodě v typové deklaraci, vyhodí se „Fatal Error“ se zapnutou náladou strict. zde je příklad
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 vidíme, při použití strict mood „on“ se z varování stala Chyba, což je velmi užitečný a strukturovaný způsob, jak pochopit a získat požadovaný výstup z kódové základny.
Deklarace návratového typu
PHP 7 také podporuje deklarace návratového typu, které podporují všechny stejné typy jako argumenty. Pro zadání návratového typu přidáme dvojtečku a pak typ přímo před otevírací kudrnatou závorku.
function total(float $a, float $b) : float {}
Nové operátory :
PHP 7 nám také přináší několik nových operátorů. Prvním z nich, který prozkoumáme, je operátor kosmická loď. Operátor kosmické lodi neboli kombinovaný operátor porovnávání je příjemným přírůstkem do jazyka a doplňuje operátory větší-než a menší-než. like
$compare = 2 <=> 1
2 < 1? return -1
2 = 1? return 0
2 > 1? return 1
Operátor Null Coalesce
Další nový operátor, operátor Null Coalesce, je vlastně pověstný if-set-or. Vrátí levý operand, pokud není NULL, jinak vrátí pravý. jako
$name = $firstName ?? "Guest";
Před verzí 7.X to bylo jako
if (!empty($firstName)) $name = $firstName;
else $name = "Guest";
Ještě mocnější je, že je můžete stohovat! Tato operace bude kontrolovat každou položku zleva doprava, a když najde jednu, která není null, použije tuto hodnotu. jako
$name = $firstName ?? $username ?? $placeholder ?? "Guest";
To je zábava, že ano ??
Jestliže jste připraveni začít si hrát s PHP7, jděte si projít všechny změny v PHP 7. X