Yii Helpers

Innen: Szitár-Net Wiki
A lap korábbi változatát látod, amilyen Szűcs Gábor (vitalap | szerkesztései) 2021. augusztus 26., 10:24-kor történt szerkesztése után volt.
Ugrás a navigációhoz Ugrás a kereséshez

A Yii keretrendszer számos olyan beépített osztályt tartalmaz, melyek a gyakori kódolási feladatokat segítik egyszerűen megvalósítani. Ilyen feladatok lehetnek például a szöveg vagy a tömb manipulációk, HTML kód generálás. Ezen osztályok statikusak és a yii\helpers namespace alatt találhatóak.

Lehetőségünk van felülírni az osztályokat ilyenkor a felülírni kívánt osztály szülő osztályát a base osztályt kell származtatnunk, majd elvégezni a megfelelő módosításokat. A Yii class autoloader segítségével pedig beállíthatjuk alapértelmezettnek a módosított osztályunkat. Ha nem változtatást, hanem hozzáadni szeretnénk funkciókat akkor pedig érdemes saját helper osztályt létrehozni.

ArrayHelper osztály

A tömbök hatékonyabb kezelésében képes segíteni, statikus metódusai segítségével.

Tömbkezelő ArrayHelper metódusok

getValue() metódus
Vizsgálja, hogy egy tömb vagy objektum bizonyos kulcsa létezik-e, ha igen akkor a meghatározott kulcs értékét adja vissza, ha nem létezik akkor pedig egy előre meghatározott értéket ad vissza.

setValue() metódus
Vizsgálja, hogy egy tömb, illetve a megadott kulcs létezik-e, ha létezik akkor annak az értékét felülírja, ha nem létezik akkor pedig létrehozza akár még a tömböt is és a megfelelő kulcsokat és az értéket.

remove() metódus
Eltávolítja a tömb megadott kulcsát és annak értékét. Visszatérési értékébe az eltávolított elem értéke kerül, ha nem létezik akkor pedig a harmadik paraméterben opcionálisan meghatározott érték fog visszatérni, alapértelmezetten ez a null.

index() metódus
Több dimenziós tömb elemeit képes kulcs alapján indexelni, és megadott attribútum szerint csoportba rendezni. Visszatérési értéke az indexelt tömb lesz.

map() metódus
A metódus segítségével $kulcs => $érték párokat hozhatunk létre. Lehetőség van továbbá a csoportosításra is. A visszatérési érték az említett párokat tartalmazó asszociatív tömb.

multisort() metódus
A többdimenziós tömbök sorba rendezésére szolgál. Történhet egy vagy több kulcs alapján is. A rendezés iránya (csökkenő / növekvő sorrend) is megadható. Void metódus nincs visszatérési értéke, a megadott tömbön végzi el a sorba rendezést.

merge() metódus
Két tömb összefésülését képes elvégezni. Az összefésülés logikája nyomán hatékonyan tudjuk alkalmazni különböző helyzetekben. A visszatérési érték az összefésült tömb lesz.

toArray() metódus
Az objektumok tömbbé való átalakítását valósítja meg. Így például az activerecord modellek az átalakítást követően, egyszerűen használhatóak REST API végpontok kiépítéséhez. A visszatérési érték a tömbbé alakított objektum lesz.

Boolean típusú ArrayHelper metódusok

keyExists() metódus
Vizsgálja, hogy a meghatározott kulcs létezik-e a megadott tömbben. Visszatérési értéke pedig egy boolean lesz (true – létezik, false – nem létezik).

isIndexed() metódus
Vizsgálja, hogy a megadott tömb számokkal van-e indexelve, azt is lehetőségünk van vizsgálni, hogy a számok egymást követőek-e, folytatólagosak. Boolean értéket ad vissza.

isAssociative() metódus
Vizsgálja, hogy a megadott tömb asszociatív-e. Azt is lehetőségünk van vizsgálni, hogy a megadott asszociációs kulcsok mind string formátumúak-e. Boolean értéket ad vissza.

isIn() metódus
Vizsgálja, hogy egy adott érték benne van-e a tömbben. Visszatérési értéke egy boolean.

isSubset() metódus
Vizsgálja, hogy a megadott elemek megtalálhatóak-e a vizsgálandó tömbben. Visszatérési értéke egy boolean.