A PHP támogatja a Null Coalescing-et, és te is tudod ??

Mondjuk, hogy van blogod, a blognak sok cikke van, és minden cikknek kell szerzője, nem biztos, hogy te vagy az. A szerzőnek rendelkeznie kell bizonyos tulajdonságokkal, amelyekre számíthat: neve, kép, hely, vállalat stb. Tehát a felhasználó rákattint egy adott cikkre, a cikk betöltődik, és elkezdjük megjeleníteni a címet, a tartalmat, a képek és a szerző információi: név, kép, bla, bla. De ennek a szerzőnek nincs meghatározott helye … szar. 500. szar.

Miért 500? Nos, te a végtelen bölcsességben azt feltételezted, hogy a $ authorLocation változónak az oldalon kell lennie, és meg kell jelenítenie a megfelelő helyet. Tehát mit tehetünk, hogy elkerüljük a hibát, amikor megpróbáljuk kinyomtatni a $ authorLocation változót, amikor a szerző nem határozta meg a helyét? Ne.

Mit tehetünk? < Sok minden!

Logikai blokkok

Minden nyelvnek megvan az alapértelmezett logikai operátora, a if. szóval. Tehát ez így néz ki:

Nos, ez egy kezdet, de ez valójában nem oldja meg a problémát, mert nem volt kezdetként a $ authorLocation változó. Tehát ilyesmit kell tennie:

Nos, ez durva. Ennyi kód ahhoz, hogy oly egyszerű dolgot hajtsunk végre. Mit tehetnénk még? Ternary Operator? Ternary Operator!

Ternary Operator

A háromszintű operátorok lehetővé teszik „rövid kéz” összehasonlítások megírását, például:

De még mindig nem erre van szükségünk. Ellenőriznünk kell, hogy a változó még létezik-e , és meg kell győződnünk arról, hogy nem null -e.

Gondolom, ez jobb? Kicsit nehezebb olvasni. Nem rövidebb. Megvan az a furcsa üres húr, ami helykidobásnak tűnik. De bebizonyítottam a félelmetes kódoló képességemet egy háromfázisú, igaz srácok használatával? Menjünk olyannal, ami tömör és könnyen olvasható.

A Null Coalescing Operator bemutatása ??

Mi a Null Coalescing?

A nullkoalízis operátort ( ?? ) szintaktikus cukorként adták hozzá ahhoz a gyakori esethez, amikor a háromkomplexumot a isset () -val együtt kell használni.

Most gázzal főzünk. Tehát az történik, hogy megadsz 2 értéket, létezik az ellenőrzött változó, és ha nem, akkor a kívánt értéket. Mi határozza meg, hogy létezik-e változó? Nos, mivel a PHP lazán be van írva, ez zavart okozhat. Alapvetően, ha a változó nincs regisztrálva a PHP-ben vagy , akkor a változót és definiáljuk, és ez NULL . Lásd a következő példákat a tisztázáshoz:

Minden nagy hatalom nagy felelősséggel jár. Ne használja túl a ?? t, csak vegye figyelembe, hogy létezik, és bizonyos helyzetekben hasznos.

Érted? Tehát a példaprojektből a kódunk a következővé válna:

< 💥Gumiból, egyszerű, tömör, ezpz.