CakePHP és a magyar többesszámok

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!

One thought on “CakePHP és a magyar többesszámok

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.