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. |
