„Yii Helpers” változatai közötti eltérés

Innen: Szitár-Net Wiki
Ugrás a navigációhoz Ugrás a kereséshez
 
(12 közbenső módosítás ugyanattól a szerkesztőtől nincs mutatva)
1. sor: 1. sor:
== I. ArrayHelper osztály ==
+
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 ===
 
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>
 
  
<code> '''ArrayHelper::getValue($tomb, ’kulcs’, ’Nem található a kulcs’);''' </code><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.
  
A első paraméter a tömb. A második paraméter a kulcs:<br>
+
== [[ArrayHelper osztály]] ==
*  A tömb kulcsa vagy az objektum attribútuma<br>
+
A tömbök hatékonyabb kezelésében képes segíteni, statikus metódusai segítségével.<br>
*  Ha több dimenziós a tömbünk akkor pontokkal szeparált kulcsok vagy attribútumok megadásával is megkaphatjuk a kívánt értéket pl., ha [’tömb1’][’tömb2’][’értékKulcsa’] akkor ’tömb1.tömb2.értékKulcsa’<br>
 
*  Callback függvény visszatérése által tudjuk manipulálni a kívánt adatokat<br>
 
  
A metódus harmadik paramétere opcionális, ha nem található meg a megadott kulcs a tömbben, akkor ez a harmadik paraméter lesz a metódus visszatérési értéke, alapértelmezetten ez null.<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>
  
=== setValue() metódus ===
+
'''[https://wiki.szitar.net/ArrayHelper_oszt%C3%A1ly#setValue.28.29_met.C3.B3dus setValue() metódus]'''<br>
[[Fájl:Kulcs elérés példa.png|bélyegkép]]
 
 
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>
  
<code> '''ArrayHelper::setValue($tomb, ’kulcs.ertek3’, ’Ertek’);''' </code> <br>
+
'''[https://wiki.szitar.net/ArrayHelper_oszt%C3%A1ly#remove.28.29_met.C3.B3dus remove() metódus]'''<br>
 
 
Az első paraméter a tömb, a második a kulcs, pontokkal szeparált kulcsok megadásával is megadhatjuk pl., ha [’tömb1’][’tömb2’][’értékKulcsa’] akkor ’tömb1.tömb2.értékKulcsa’. A harmadik paraméter lesz az értéke a megadott kulcsnak.<br>
 
 
 
=== 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.<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>
  
<code>'''ArrayHelper::remove($tomb, ’kulcs’, ’Nem található a kulcs’);'''</code><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).
Fontos megemlíteni, hogy itt nem használható a pont szeparátorral megadott kulcsok meghatározása. Csak az egyszerű string formátumú kulcs engedélyezett. Ez sajnos behatárolja a metódus hatékonyságát / felhasználhatóságát.<br>
 
  
=== index() metódus ===
+
'''[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>
  
<code>'''ArrayHelper::index($tomb, ’id’, ’name’);'''</code><br>
+
'''[https://wiki.szitar.net/ArrayHelper_oszt%C3%A1ly#map.28.29_met.C3.B3dus map() metódus]'''<br>
 
 
Első paraméter a tömb, második az egyedi kulcs, mely alapján az egyedi indexelés fog megvalósulni, például id alapján. Harmadik paraméternek azt az attribútumot / attribútumokat várja mely alapján csoportokat fog tudni létrehozni (használhatunk callback függvényt is). Ha a fenti kód alapján id indexelés és name csoportosítás történik egy tömbön akkor:
 
<pre>
 
’Fred’ => [
 
1 => [’id’ => 1, ’name’ => ’Fred’, ’type’ => 220]
 
],
 
’Fredddy’ => [
 
3 => [’id’ => 3, ’name’ => ’Fredddy’ , ’type’ => 30],
 
4 => [’id’ => 4, ’name’ => ’Fredddy’ , ’type’ => 220],
 
        5 => [’id’ => 5, ’name’ => ’Fredddy’ , ’type’ => 30]
 
]
 
</pre>
 
Továbbá lehetőségünk van a harmadik paraméterben tömbként átadott értékkel többszörös csoportosításra is, a sorrend a tömbösítés sorrendjét is meghatározza. Ha a harmadik paraméter [’type’, ’name’] akkor:<br>
 
<code>'''ArrayHelper::index($tomb, ’id’, [’type’, ’name’]);'''</code><br>
 
<pre>
 
220 => [
 
    ’Fred’ => [
 
  1 => [’id’ => 1, ’name’ => ’Fred’, ’type’ => 220]
 
    ],
 
    ’Fredddy’ => [
 
  4 => [’id’ => 4, ’name’ => ’Fredddy’ , ’type’ => 220]
 
    ]
 
],
 
30 => [
 
    ’Fredddy’ => [
 
          3 => [’id’ => 3, ’name’ => ’Fredddy’ , ’type’ => 30],
 
          5 => [’id’ => 5, ’name’ => ’Fredddy’ , ’type’ => 30]
 
    ],
 
]
 
</pre>
 
A második paraméterben null-t átadva, csoportosításra van lehetőségünk, az indexelés ebben az esetben automatikus.<br>
 
<code>'''ArrayHelper::index($tomb, null, ’name’);'''</code><br>
 
<pre>
 
’Fred’ => [
 
    0 => [’id’ => 1, ’name’ => ’Fred’, ’type’ => 220]
 
],
 
’Fredddy’ => [
 
    0 => [’id’ => 3, ’name’ => ’Fredddy’ , ’type’ => 30],
 
    1 => [’id’ => 4, ’name’ => ’Fredddy’ , ’type’ => 220],
 
    2 => [’id’ => 5, ’name’ => ’Fredddy’ , ’type’ => 30]
 
]
 
</pre>
 
 
 
=== 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.<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>
  
<code>'''ArrayHelper::map($tomb, ’id’, ’name’, ’type’);'''</code><br>
+
'''[https://wiki.szitar.net/ArrayHelper_oszt%C3%A1ly#multisort.28.29_met.C3.B3dus multisort() metódus]'''<br>
 
 
Első paraméter a tömb, másodiknak megkell adnunk azt az attribútumot melyből szeretnénk, hogy a $kulcs legyen ($from), harmadiknak pedig azt az attribútumot melyből szeretnénk, hogy $érték legyen ($to). A negyedik paraméter opcionális, itt adhatjuk meg, hogy végezzen-e csoportosítást és ha igen akkor pedig melyik attribútum alapján. Callback függvények használhatóak. A fent leírt kód alapján a metódus visszatérési értéke így nézne ki:
 
<pre>
 
220 => [
 
    1 => ’Fred’,
 
    4 => ’Fredddy’
 
],
 
30 => [
 
    3 => ’Fredddy’,
 
    5 => ’Fredddy’
 
]
 
</pre>
 
 
 
=== 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.<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>
  
<code>'''ArrayHelper::multisort($tomb, [’type’, ’id’], [SORT_ASC, SORT_DESC]);'''</code><br>
+
'''[https://wiki.szitar.net/ArrayHelper_oszt%C3%A1ly#merge.28.29_met.C3.B3dus merge() metódus]'''<br>
 
 
Első paraméter a tömb, ha asszociatív akkor a sorrendezett tömb megtartja a kulcsokat. Második paraméterben kell megadnunk mely attribútumok alapján rendezzen sorba, callback függvény használata lehetséges. Több szempontot is megadhatunk tömb formájában, a sorrend meghatározó. Harmadik paraméterként opcionálisan megadhatjuk a sorba rendezés irányát, alapértelmezetten ez ’SORT_ASC’. Ha az attribútumokat különböző módon szeretnénk sorba rendezni akkor tömböt átadva tehetjük ezt meg. Tehát a fenti példa alapján a ’type’ növekvő sorrendben, az ’id’ csökkenő sorrendben kerül rendezésre. Lehetséges továbbá egy negyedik paraméter is, ez a ’sortFlag’, beállíthatjuk, hogyan kezelje a sorba rendezés értékeit, szövegként vagy számként stb. alapértelmezetten ’SORT_REGULAR’. A sorba rendezett tömb, ’type’ alapján növekvő, majd ’id’ alapján csökkenő sorrendben:
 
<pre>
 
0 =>
 
’id’ => 2,
 
’name’ => ’Fredddy’,
 
’type’ => 30
 
]
 
1 => [
 
’id’ => 4,
 
’name’ => ’Fredddy’,
 
’type’ => 220
 
]
 
2 => [
 
’id’ => 3,
 
’name’ => ’Fredddy’,
 
’type’ => 220
 
]
 
3 => [
 
’id’ => 1,
 
’name’ => ’fred’,
 
’type’ => 220
 
]
 
</pre>
 
 
 
=== 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.<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>
  
<code>'''ArrayHelper::merge($tomb1, $tomb2);'''</code><br>
+
'''[https://wiki.szitar.net/ArrayHelper_oszt%C3%A1ly#toArray.28.29_met.C3.B3dus toArray() metódus]'''<br>
A következő logika alapján épül fel az összefésülés:
 
*  A paraméterben megadott tömbök sorrendje meghatározó, azonosság esetén a második paraméter értéke fog érvényesülni.
 
Nem asszociációs tömb elemek esetén összefésülés történik (mind a 2 érték megmarad).
 
*  A következőképpen ’kulcs’ => new \yii\helpers\ReplaceArrayValue([1, 2]) felülírhatjuk a másik tömb kulcsa által meghatározott tömb értékét (csak a második paraméter tömbjében megadva érvényesülhet)
 
*  'dev' => new \yii\helpers\UnsetArrayValue() segítségével pedig megadhatjuk melyik kulcs értéke kerüljön felszámolásra (szintén csak a második paraméter tömbjében megadva érvényesülhet)
 
[[Fájl:Merge példa.png|bélyegkép|középre]]
 
 
 
=== 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.<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>
<pre>
 
ArrayHelper::toArray($model, [
 
            'app\modules\bufeShop\models\Product' => [
 
                'name',
 
                'price' => function($element){
 
return $element->price . ’ Ft’;
 
            ]
 
]);
 
</pre>
 
Első paraméterként az objektumot vagy az objektumokat tartalmazó tömböt várja. Második paraméterben opcionálisan megadhatjuk mit és milyen formában szeretnénk tömbként visszakapni. Mint ahogy azt a fentebbi példa is mutatja, megkell adnunk a modell osztályának az elérési útját, majd ezekután lehetőségünk lesz meghivatkozni a modell attribútumait (akár az általunk írt „get”-es attribútumokat is). Callback függvény használatára is van lehetőség.
 
  
<hr>
+
=== ''Boolean típusú ArrayHelper metódusok'' ===
=== Boolean típusú metódusok ===
+
'''[https://wiki.szitar.net/ArrayHelper_oszt%c3%a1ly#keyExists.28.29_met.C3.B3dus keyExist() metódus]'''<br>
==== 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).<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>
  
<code>'''ArrayHelper::keyExists(’kulcs’, $tomb, false);'''</code><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>
  
Első paraméter a kulcs, második a tömb. A harmadik paraméter opcionális és ezzel a caseSensitive vizsgálatot lehet felfüggeszteni, alapértelmezetten caseSensitive = true, tehát a kis és nagybetűknek is egyeznie kell.<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>
  
==== isIndexed() metódus ====
+
'''[https://wiki.szitar.net/ArrayHelper_oszt%c3%a1ly#isIn.28.29_met.C3.B3dus isIn() 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 egy adott érték benne van-e a tömbben. Visszatérési értéke egy boolean.<br>
  
<code>'''ArrayHelper::isIndexed($tomb, true);'''</code><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>
  
Az első paraméter a tömb, a második pedig opcionális és itt megadható, hogy vizsgálja-e a folytatólagosságot, ha true akkor az indexelésnek 0-tól kell kezdődnie és nem lehet kimaradás a számok között. A második paraméter alapértelmezett értéke a false.<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.
  
==== isAssociative() metódus ====
+
'''byteLength() 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>
+
Vissza adja a megadott szövegben szereplő bájtok számát (a karakterek számát). Php megfelelője: strlen.
  
<code>'''ArrayHelper::isAssociative($tomb, true);'''</code><br>
+
'''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’''
  
Az első paraméter a tömböt, a második pedig opcionális és itt megadható, hogy kell-e vizsgálni az asszociációs kulcs formátumát, ha true akkor csak szöveg formátumok esetén ad igaz értéket (a ’122’ nem számít szöveg formátumnak a ’12w2’ már igen). A második paraméter alapértelmezett értéke a true.<br>
+
'''countWords() metódus'''<br>
 +
A szövegben szereplő szavak számát adja vissza. Php megfelelője: str_word_count.
  
==== isIn() metódus ====
+
'''startsWith() metódus'''<br>
Vizsgálja, hogy egy adott érték benne van-e a tömbben. Visszatérési értéke egy boolean.<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.
  
<code>'''ArrayHelper::isIn(’3’, $tomb);'''</code><br>
+
'''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.
  
Első paraméter a vizsgálni kívánt értéket várja, a második pedig a tömböt. Van egy harmadik paraméter mely opcionális, ha „true” értéket adunk neki akkor a típus szerinti egyenlőséget is vizsgálja, alapértelmezetten „false” az érték.<br>
+
'''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...’''
  
==== isSubset() metódus====
+
'''truncateWords() metódus'''<br>
[[Fájl:IsSubset példa.png|bélyegkép]]
+
A szöveget a megadott szavak száma után csonkítja, majd utána illeszti a megadott értéket.<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::truncateWords(’hello my friend’, 2, ’…’); => ’hello my...’''
  
<code>'''ArrayHelper::isSubset([a,c],[a,b,c]);'''</code><br>
+
'''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]]
  
Az első paraméterben azokat az elemeket kell tömb formájában megadni melyeket szeretnénk, hogy a metódus megkeressen a vizsgálandó tömbben. Fontos, hogy minden elemnek benne kell lennie a vizsgálandó tömbben, csak így ad vissza „true” értéket. A második paraméterben a  vizsgálandó tömböt kell megadnunk. A harmadik paraméter opcionális és a típus szerinti összehasonlítást teszi lehetővé, ugyanúgy, mint az előbbi metódus esetében.<br>
+
'''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.

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.

Példa explode() metódusra

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.

Példa matchWildcard() metódusra