Kiemelt kép

PHP 8 újdonságok V - named arguments

A PHP fejlesztőcsapata 2020 végén kiadta a PHP következő főverzióját, a PHP 8.0-t. Ebben a posztsorozatban megnézzük, hogy milyen főbb változások és új nyelvi elemek érkeztek a PHP-ba. Az előző posztokban már megnéztük a kisebb-nagyobb változásokat (match, típusosság, attribútumok, új függvények), de még maradt 3 nagyobb újdonság (V-VII. poszt), amelyeket a következő napokban fogunk megnézni alaposabban. 

Ebben a posztban a named arguments RFC-ről lesz szó, vagy magyarra fordítva a „nevezett paraméterekről”, amely lényege, hogy úgy tudunk értékeket átadni egy-egy függvénynek vagy metódusnak, hogy azokra neveikkel hivatkozunk. Nézzük is miről van szó!

Szintaxis

Tehát a nevet megadjuk és kettőspont után az értéket. A példakódban látható módon lehet vegyíteni is, tehát meg lehet adni pozíció szerint és utána nevekkel ellátva a többit. Fontos itt megjegyezni, hogy ha megadunk egy névvel ellátott paramétert, akkor utána már mindegyiket úgy kell megadni. 

A nevesítés előnyei

Az egyik legnagyobb előnye, hogy ezzel ki tudunk hagyni opcionális paramétereket. Ha például az fgetcsv függvény esetében csak az elválasztó karaktert szeretnénk megadni, minden más alapértelmezés szerint legyen beállítva:

További előnyök:

  • Több paraméternél átláthatóbbá tudja tenni a kódot. 
  • Fel tudjuk cserélni a sorrendet, tehát nem kell pontosan emlékezni arra, hogy a függvény milyen sorrendben várja a paramétereket. 
  • A most bevezetett attribútumok esetében is hasznos, ha több értéket kell átadni.
  • Ha van egy kulcs-érték párból álló tömbünk, akkor a spread operátorral átadva a kulcsok alapján be tudja azonosítani. Ez hasznos például konstruktoroknál is, de erre egy következő posztban jobban kitérünk még.

Összegzés

A named argumentekkel tehát nagyon sokszor meg tudjuk könnyíteni a munkánkat és/vagy átláthatóbbá tenni a kódbázist, amin dolgozunk. Természetesen ez nem jelenti azt, hogy mostantól minden esetben meg kell adni a neveket, de ez egy nagyon jó eszköz a fentebb említett szituációkban (pl. opcionális paraméterek, túl sok változó átadás). 


Ha nem szeretnél lemaradni a hasonló posztokról, kövesd a blog Facebook oldalát!