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!

CakePHP és a magyar többesszámok
Cimke:

Egy gondolat a “CakePHP és a magyar többesszámok” -hoz

  • 2012. december 04. at 02:26:39
    Permalink

    Eleve ott kezdődik, hogy magyar nyelven nem kódolunk.

    Jól megmondtam! 😀
    Uff, ez így van, így lesz, és kész.

    Válasz

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

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük