3.4.6 Singolari e Plurali, regole personalizzate per la declinazione.

Le convenzioni sui nomi in CakePHP possono essere molto utili - puo chiamare il database big_boxes, il tuo modello BigBox, il controller BogBoxesController, e tutto funziona automaticamente. CakePHP sa come collegare queste cose declinando le parole al singolare e al plurale.

Ma ci sono dei casi (soprattutto per chi non parla inglese) in cui CakePHP non sa come declinare le parole (cosa che fa grazie alla classe inflector, che trasforma i singolari e plurali, ma anche gli under_scores in camelCases). Se CakePHP non riconosce i tuoi plurali, puoi istruirlo su come comportarsi in determinati casi. Il file di configurazione si trova in /app/config/inflections.php.

In questo file trovi sei variabili. Esse permettono di perfezionare il modo in cui CakePHP tratta le inflessioni.

Variabile inflections.php Descrizione
$pluralRules Questo é un array che contiene le espressioni regolari per casi speciali di plurale. Le chiavi dell'array sono le inflessioni che vengono trasformate come indicato nel rispettivo valore.
$uninflectedPlural Un array che contiene parole che non cambiano quando sono al plurale.
$irregularPlural Array che contiene le parole e il rispettivo plurale. Le chiavi rappresentano la forma singolare, i valori la forma plurale. Questo array puó essere usato per parole che non seguono alcuna regola descritta in $pluralRules.
$singularRules Uguale a $pluralRules, ma al contrario: fornisce i singolari per plurali irregolari
$uninflectedSingular Uguale a with $uninflectedPlural, ma per i singolari. Di default é uguale a $uninflectedPlural.
$irregularSingular Uguale a with $irregularPlural, solo con le parole in singolare.