A CakePHP konvenciói megédesíthetik és megkeseríthetik a napjainkat. Azoknak akik időnként szeretnek magyar kódrészleteket használni a PHP forrásban itt egy nyúlfarknyi leírás, hoyg hogyan tehetik meg.
A CakePHP konvenciói szerint a modell nevek egyes számban, a vezérlő nevek többes számban szerepelnek. E mellett az egyes szám – többes szám átalakítások több helyen is előjönnek a cake használata során.
Persze az angol nyelvben meglehetősen egyszerű az ügy, az esetek döntő többségében egy “s” kerül a szó végére és kész. A magyar nyelvben némileg bonyolultabb a többesszámú alakok képzésének rendje, ezért ha nem akarjuk hogy a “Toll” modellünkhöz a cake “TollsController”-t keressen, vagy ha nem akarjuk, hogy a bake console script minduntalan alkatrészeket hiányoljon akkor elő kell vennünk a /app/config/inflections.php
fájlt.
Ebben a fájlban több mindent is találunk. A $pluralRules
tömb arra szolgál, hoyg regex segítségével megadjuk, hogy hogyan kell többesszámot képezni.
Az $uninflectedPlural
tömbbe olyan szavak kerülnek amelyeknek nincs többesszáma, vagy a többesszámú alakjuk megegyezik az egyes számú alakjával. Magyarul ilyen lenne mondjuk a “homok”.
A következő a $irregularPlural
tömb ami a rendhagyó többesszámok tételes felsorolására való. A magyar – az angolhoz képes – rendhagyó volta miatt itt a legegyszerűbb meghatározni a többesszámú alakokat, amelyeket a cake majd a controllerek és egyéb osztályok esetében használni fog.
$irregularPlural = array( 'toll' => 'tollak' 'osztaly' => 'osztalyok', 'valuta' => 'valutak', 'naplo' => 'naplok', 'bizonylat' => 'bizonylatok', 'userjog' => 'userjogok', 'szamla' => 'szamlak' );
A következő tömb a $singularRules
amely az egyes számok képzéséhez használható regexeket tartalmazza.
Tehát ha szeretnénk a cakePHP-vel való munka során a forrásfájlokban magyar controller és modell neveket használni akkor csupán az inflections fájlban kell definiálnunk a modellek alapján az egyes és többes számú formákat.
Jó kódolást!
Eleve ott kezdődik, hogy magyar nyelven nem kódolunk.
Jól megmondtam! 😀
Uff, ez így van, így lesz, és kész.