co je nového v PHP 7.4? Top 10 funkcí, které potřebujete znát

PHP7.4

PHP7.4

Proč jsou některé programovací jazyky tak populární, zatímco jiní jsou jen zřídka použity na rozvoj projektu a někdy dokonce spadnout do zapomnění? Existuje pro to spousta důvodů. Jednoduchost syntaxe, funkčnosti, rozvojové sítě a komunitní podpory ovlivňují úroveň poptávky po každé technologii.

jak se svět IT neustále vyvíjí, kódovací technologie musí držet krok s měnícím se prostředím poskytováním nových funkcí, aktualizací a vylepšení. To je jeden z nejdůležitějších prvků jazykového úspěchu.

v naší společnosti si užívám PHP kvůli častým vylepšením, která se provádějí každý rok, a věřím, že bude populární po mnoho dalších let. Od vydání PHP 5 v roce 2004 se jeho výkon zdvojnásobil a možná dokonce ztrojnásobil. To je jeden z důvodů, proč používáme PHP v naší společnosti pro vývoj softwaru.

není divu, že již druhý rok v řadě patří PHP mezi 10 nejoblíbenějších programovacích jazyků podle StackOverflow Developer Survey 2019. Letos obsadila 8. místo, což je o jednu příčku vyšší než v předchozím roce.

za pouhých 7 dní, ve čtvrtek 28. listopadu, se dočkáme nové verze PHP-PHP 7.4, která se stane jednou z nejvíce nabitých verzí vůbec. V tomto článku uvedu a pokryju aktualizovaný přehled funkcí PHP 7.4. Pojďme začít!

podpora šipkových funkcí

vzhledem k tomu, že anonymní funkce nebo uzávěry se používají hlavně v JS, zdá se, že jsou v PHP podrobné. Jejich postupy provádění a údržby jsou také složitější.

zavedení podpory funkcí arrow umožní vývojářům PHP dramaticky vyčistit svůj kód a učinit syntaxi stručnější. V důsledku toho získáte vyšší úroveň čitelnosti a jednoduchosti kódu. Podívejte se na níže uvedený příklad.

Takže, pokud jste dříve měl napsat tento kus kódu:

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

S PHP 7.4, budete moci přepsat následujícím způsobem:

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

Díky schopnosti vytvořit elegantní, kratší kód, webový vývojový proces půjde rychleji, což vám umožní ušetřit čas.

podpora Typed properties

zavedení typed properties v příštím vydání bude pravděpodobně považováno za jednu z nejdůležitějších aktualizovaných funkcí PHP. Zatímco dříve tam byl žádná možnost k použití deklarace metody, proměnné třídy, proměnné a vlastnosti (včetně statické vlastnosti), nyní programátoři mohou snadno kódu bez vytváření specifických getter a setter metody.

vzhledem k typům deklarací (kromě void a callable) můžete použít neplatné typy, int, float, array, string, object, iterable, self, bool a parent.

Pokud se webový vývojář pokusí přiřadit typu irelevantní hodnotu, například deklarovat $name jako řetězec, dostane zprávu TypeError.

Jako šipka funkce, zadané vlastnosti také nechat PHP inženýry, aby jejich kód kratší a čistší,

Předpětí

hlavním účelem této cool nové funkce je pro zvýšení PHP 7.4 výkon. Jednoduše řečeno, Předběžné načítání je proces načítání souborů, rámců a knihoven v OPcache a je rozhodně skvělým doplňkem nové verze. Pokud například používáte rámec, jeho soubory musely být staženy a překompilovány pro každý požadavek.

při konfiguraci OPcache se tyto kódové soubory poprvé účastní zpracování požadavků a poté jsou pokaždé zkontrolovány na změny. Předběžné načtení umožňuje serveru načíst zadané soubory kódu do sdílené paměti. Je důležité si uvědomit, že budou neustále k dispozici pro všechny následující požadavky bez dalších kontrol změn souborů.

To je také pozoruhodné, nemluvě o tom, že během předpínání, PHP také eliminuje zbytečné zahrnuje a řeší třída závislostí a vazeb s rysy, rozhraní, a další.

Kovariantní vrátí & contravariant parametry

V okamžiku, PHP má většinou invariantní typy parametrů a invariantní návratové typy, což představuje určité omezení. S zavedení kovariantní (typy jsou objednané z konkrétnější na obecnější) výnosy a contravariant (druhy jsou řazeny od více obecných ke konkrétnějším) parametry, PHP vývojáři budou moci změnit parametr typu na jeden z jeho supertypes. Vrácený typ lze zase snadno nahradit jeho podtypem.

slabé odkazy

v PHP 7.4 umožňuje třída WeakReference webovým vývojářům Uložit odkaz na objekt, který nebrání jeho zničení. Nezaměňujte ji s třídou WeakRef rozšíření Weakref. Díky této funkci mohou snadněji implementovat struktury podobné mezipaměti.

viz příklad použití této třídy:

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

také si všimněte, že nemůžete serializovat slabé odkazy.

Coalescing assign operator

coalesce operator je další nová funkce dostupná v PHP 7.4. Je to velmi užitečné, když potřebujete použít ternární operátor spolu s isset (). To vám umožní vrátit první operand, pokud existuje a není NULL. Pokud ne, vrátí se pouze druhý operand.

zde je příklad:

<?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';?>

spread operátor v poli výraz

PHP 7.4 dá inženýři schopnost použít rozložení operátorů v polích, které jsou rychlejší ve srovnání s array_merge. Jsou pro to dva klíčové důvody. Za prvé, operátor spreadu je považován za jazykovou strukturu a array_merge je funkce. Druhým důvodem je, že nyní může být váš čas kompilace optimalizován pro konstantní pole. V důsledku toho budete mít zvýšený výkon PHP 7.4.

podívejte se na příklad rozbalení argumentů ve výrazu pole:

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

také bude možné rozšířit stejné pole vícekrát. Kromě toho, protože normální prvky mohou být přidány před nebo po operátorovi šíření, vývojáři PHP budou moci používat jeho syntaxi v poli.

nový mechanismus serializace vlastních objektů

v nové verzi PHP jsou k dispozici dvě nové metody: __serialize a __unserialize. Kombinuje všestrannost Serializable rozhraní s přístupem prováděcí __sleep / __ wakeup metody, tato serializace mechanismus umožní, aby PHP vývojářům, aby se zabránilo přizpůsobení otázky spojené s existující metody. Zjistěte více informací o této funkci PHP.

Reflection pro odkazy

knihovny, jako je symfony/var-dumper, silně spoléhají na ReflectionAPI pro přesné zobrazení proměnných. Dříve neexistovala žádná správná podpora pro referenční reflexi, která přinutila tyto knihovny spoléhat se na hacky při detekci odkazů. PHP 7.4 přidá třídu ReflectionReference, která tento problém řeší.

podpora házení výjimek z __toString ()

dříve nebyla možnost házet výjimky z metody __toString. Důvodem je, že konverze objektů na řetězce se provádí v mnoha funkcích standardní knihovny a ne všechny jsou připraveny správně“ zpracovat “ výjimky. Jako součást tohoto RFC, komplexní audit řetězec konverze v codebase byla provedena a tato omezení byla odstraněna.

Závěrečné myšlenky

za pouhý týden bude PHP 7.4 vydáno. Existuje spousta nových funkcí PHP, které snižují využití paměti a výrazně zvyšují výkon PHP 7.4. Získáte možnost vyhnout se některým předchozím omezením tohoto programovacího jazyka, psát čistší kód a rychleji vytvářet webová řešení.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.