„Yii Helpers” változatai közötti eltérés
(11 közbenső módosítás ugyanattól a szerkesztőtől nincs mutatva) | |||
1. sor: | 1. sor: | ||
− | == | + | 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.<br> |
− | '''getValue() metódus'''<br> | + | |
+ | 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.<br> | ||
+ | |||
+ | === ''Tömbkezelő ArrayHelper metódusok'' === | ||
+ | '''[https://wiki.szitar.net/ArrayHelper_oszt%C3%A1ly#getValue.28.29_met.C3.B3dus getValue() metódus]'''<br> | ||
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.<br> | 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.<br> | ||
− | '''setValue() metódus'''<br> | + | '''[https://wiki.szitar.net/ArrayHelper_oszt%C3%A1ly#setValue.28.29_met.C3.B3dus setValue() metódus]'''<br> |
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.<br> | 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.<br> | ||
− | '''remove() metódus'''<br> | + | '''[https://wiki.szitar.net/ArrayHelper_oszt%C3%A1ly#remove.28.29_met.C3.B3dus remove() metódus]'''<br> |
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.<br> | 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.<br> | ||
− | '''index() metódus'''<br> | + | '''[https://wiki.szitar.net/ArrayHelper_oszt%C3%A1ly#filter.28.29_met.C3.B3dus filter() metódus]'''<br> |
+ | Képes érték alapján szűrni, majd visszatérésként, csak az adott szűrési feltételnek megfelelő elemek lesznek benne(tömb esetében a benne lévő összes érték megmarad). | ||
+ | |||
+ | '''[https://wiki.szitar.net/ArrayHelper_oszt%C3%A1ly#index.28.29_met.C3.B3dus index() metódus]'''<br> | ||
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. <br> | 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. <br> | ||
− | '''map() metódus'''<br> | + | '''[https://wiki.szitar.net/ArrayHelper_oszt%C3%A1ly#map.28.29_met.C3.B3dus map() metódus]'''<br> |
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.<br> | 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.<br> | ||
− | '''multisort() metódus'''<br> | + | '''[https://wiki.szitar.net/ArrayHelper_oszt%C3%A1ly#multisort.28.29_met.C3.B3dus multisort() metódus]'''<br> |
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.<br> | 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.<br> | ||
− | '''merge() metódus'''<br> | + | '''[https://wiki.szitar.net/ArrayHelper_oszt%C3%A1ly#merge.28.29_met.C3.B3dus merge() metódus]'''<br> |
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.<br> | 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.<br> | ||
− | '''toArray() metódus'''<br> | + | '''[https://wiki.szitar.net/ArrayHelper_oszt%C3%A1ly#toArray.28.29_met.C3.B3dus toArray() metódus]'''<br> |
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.<br> | 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.<br> | ||
=== ''Boolean típusú ArrayHelper metódusok'' === | === ''Boolean típusú ArrayHelper metódusok'' === | ||
− | '''keyExists() metódus'''<br> | + | '''[https://wiki.szitar.net/ArrayHelper_oszt%c3%a1ly#keyExists.28.29_met.C3.B3dus keyExist() metódus]'''<br> |
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).<br> | 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).<br> | ||
− | '''isIndexed() metódus'''<br> | + | '''[https://wiki.szitar.net/ArrayHelper_oszt%c3%a1ly#isIndexed.28.29_met.C3.B3dus isIndexed() metódus]'''<br> |
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.<br> | 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.<br> | ||
− | '''isAssociative() metódus'''<br> | + | '''[https://wiki.szitar.net/ArrayHelper_oszt%c3%a1ly#isAssociative.28.29_met.C3.B3dus isAssociative() metódus]'''<br> |
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.<br> | 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.<br> | ||
− | '''isIn() metódus'''<br> | + | '''[https://wiki.szitar.net/ArrayHelper_oszt%c3%a1ly#isIn.28.29_met.C3.B3dus isIn() metódus]'''<br> |
Vizsgálja, hogy egy adott érték benne van-e a tömbben. Visszatérési értéke egy boolean.<br> | Vizsgálja, hogy egy adott érték benne van-e a tömbben. Visszatérési értéke egy boolean.<br> | ||
− | '''isSubset() metódus'''<br> | + | '''[https://wiki.szitar.net/ArrayHelper_oszt%c3%a1ly#isSubset.28.29_met.C3.B3dus isSubset() metódus]'''<br> |
Vizsgálja, hogy a megadott elemek megtalálhatóak-e a vizsgálandó tömbben. Visszatérési értéke egy boolean.<br> | Vizsgálja, hogy a megadott elemek megtalálhatóak-e a vizsgálandó tömbben. Visszatérési értéke egy boolean.<br> | ||
+ | |||
+ | == StringHelper Osztály == | ||
+ | A szöveg típusú változókkal való műveletek elvégzésében segít. A legtöbb metódus csökkentett funkcióval ugyan, de megtalálható a php saját függvényei között is. | ||
+ | |||
+ | '''byteLength() metódus'''<br> | ||
+ | Vissza adja a megadott szövegben szereplő bájtok számát (a karakterek számát). Php megfelelője: strlen. | ||
+ | |||
+ | '''byteSubstr() metódus'''<br> | ||
+ | A szövegből egy megadott hosszúságú "rész"-szöveget ad vissza. Php megfelelője: substr.<br> | ||
+ | ''StringHelper::byteSubstr(’hello my friend’, 5, 10); => ’my friend’'' | ||
+ | |||
+ | '''countWords() metódus'''<br> | ||
+ | A szövegben szereplő szavak számát adja vissza. Php megfelelője: str_word_count. | ||
+ | |||
+ | '''startsWith() metódus'''<br> | ||
+ | Megvizsgálja, hogy a szöveg a megadott karakterekkel kezdődik-e vagy sem. Harmadik paraméterében opcionálisan megadható, hogy caseSensitive vizsgálatot végezzen-e. CaseSensitive opció nélküli megfelelője a php8-ban: str_starts_with. | ||
+ | |||
+ | '''endsWith() metódus'''<br> | ||
+ | Megvizsgálja, hogy a szöveg a megadott karakterekkel végződik-e vagy sem. Harmadik paraméterében opcionálisan megadható, hogy caseSensitive vizsgálatot végezzen-e. CaseSensitive opció nélküli megfelelője a php8-ban: str_ends_with. | ||
+ | |||
+ | '''truncate() metódus'''<br> | ||
+ | A szöveget a megadott karakterek száma után csonkítja, majd utána illeszti a megadott értéket.<br> | ||
+ | ''StringHelper::truncate(’hello my friend’, 5, ’…’); => ’hello...’'' | ||
+ | |||
+ | '''truncateWords() metódus'''<br> | ||
+ | A szöveget a megadott szavak száma után csonkítja, majd utána illeszti a megadott értéket.<br> | ||
+ | ''StringHelper::truncateWords(’hello my friend’, 2, ’…’); => ’hello my...’'' | ||
+ | |||
+ | '''explode() metódus'''<br> | ||
+ | A megadott "delimeter" szeparátor segítségével képes a szöveget feldarabolni, majd tömbként visszaadni. Első paraméter a szöveg, második a delimeter, harmadik opcionálisan megadható, hogy a whitespace-eket szűrje-e ki. Negyedik paraméterben opcionálisan megadható, hogy az üres elemeket távolítsa-e el a visszatérő tömbből. Mindkettő opcionális alapértelmezetten false. | ||
+ | [[Fájl:Explode példa.png|500px|bélyegkép|középre|Példa explode() metódusra]] | ||
+ | |||
+ | '''matchWildcard() metódus'''<br> | ||
+ | Lehetőségünk van a szövegben wildcard-ok felhasználásával minta alapján boolean vizsgálatot végezni. Harmadik paraméterben megadható, hogy legyen-e caseSensitive a vizsgálat. | ||
+ | [[Fájl:Wildcard.png|400px|bélyegkép|középre|Példa matchWildcard() metódusra]] |
A lap jelenlegi, 2021. augusztus 26., 12:14-kori változata
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.
Tartalomjegyzék
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.
filter() metódus
Képes érték alapján szűrni, majd visszatérésként, csak az adott szűrési feltételnek megfelelő elemek lesznek benne(tömb esetében a benne lévő összes érték megmarad).
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
keyExist() 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.
StringHelper Osztály
A szöveg típusú változókkal való műveletek elvégzésében segít. A legtöbb metódus csökkentett funkcióval ugyan, de megtalálható a php saját függvényei között is.
byteLength() metódus
Vissza adja a megadott szövegben szereplő bájtok számát (a karakterek számát). Php megfelelője: strlen.
byteSubstr() metódus
A szövegből egy megadott hosszúságú "rész"-szöveget ad vissza. Php megfelelője: substr.
StringHelper::byteSubstr(’hello my friend’, 5, 10); => ’my friend’
countWords() metódus
A szövegben szereplő szavak számát adja vissza. Php megfelelője: str_word_count.
startsWith() metódus
Megvizsgálja, hogy a szöveg a megadott karakterekkel kezdődik-e vagy sem. Harmadik paraméterében opcionálisan megadható, hogy caseSensitive vizsgálatot végezzen-e. CaseSensitive opció nélküli megfelelője a php8-ban: str_starts_with.
endsWith() metódus
Megvizsgálja, hogy a szöveg a megadott karakterekkel végződik-e vagy sem. Harmadik paraméterében opcionálisan megadható, hogy caseSensitive vizsgálatot végezzen-e. CaseSensitive opció nélküli megfelelője a php8-ban: str_ends_with.
truncate() metódus
A szöveget a megadott karakterek száma után csonkítja, majd utána illeszti a megadott értéket.
StringHelper::truncate(’hello my friend’, 5, ’…’); => ’hello...’
truncateWords() metódus
A szöveget a megadott szavak száma után csonkítja, majd utána illeszti a megadott értéket.
StringHelper::truncateWords(’hello my friend’, 2, ’…’); => ’hello my...’
explode() metódus
A megadott "delimeter" szeparátor segítségével képes a szöveget feldarabolni, majd tömbként visszaadni. Első paraméter a szöveg, második a delimeter, harmadik opcionálisan megadható, hogy a whitespace-eket szűrje-e ki. Negyedik paraméterben opcionálisan megadható, hogy az üres elemeket távolítsa-e el a visszatérő tömbből. Mindkettő opcionális alapértelmezetten false.
matchWildcard() metódus
Lehetőségünk van a szövegben wildcard-ok felhasználásával minta alapján boolean vizsgálatot végezni. Harmadik paraméterben megadható, hogy legyen-e caseSensitive a vizsgálat.