3.4.6 Inflexões personalizadas

As convenções de nomenclatura do Cake podem ser realmente legais. Você pode nomear sua tabela big_boxes, seu model BigBox, seu controller BigBoxesController e tudo isso funciona em conjunto automaticamente. A maneira que o CakePHP usa para associar todas juntas é através da utilização de inflections (inflexões), que transformam as palavras do singular em plural e vice-versa.

Existem ocasiões (especialmente para nossos amigos que não falam inglês - nosso caso), onde você pode rodar o inflector do CakePHP (a classe que pluraliza, singulariza, camelCases e under_scores) e não funcionar como você gostaria. Se o CakePHP não reconhecer seu Foci ou Fish, editando o arquivo de configuração personalizada de inflexões você poderá indicar seus casos especiais. O arquivo de configuração é encontrado em /app/config/inflections.php.

Neste arquivo, você irá encontrar seis variáveis. Cada uma permite você fazer o ajuste fino das inflections do CakePHP.

Variáveis do inflections.php Descrição
$pluralRules Este array contém regras de expressões regulares para pluralizar casos especiais. A chave do array são os patterns e o valor são as substituições.
$uninflectedPlural Um array que contém palavras que não precisam ser alteradas quando passadas para o plural (lápis, etc.).
$irregularPlural Um array que contém palavras e seus plurais. A chave do array contém a forma no singular e o valor a forma no plural. Este array deve ser usado para guardar palavras que não seguem as definições em $pluralRules.
$singularRules Similar a $pluralRules, contém as regras para singularizar as palavras.
$uninflectedSingular Similar a $uninflectedPlural, contém as palavras que não contém forma no singular. Por padrão, este array tem o mesmo valor de $uninflectedPlural.
$irregularSingular Similar a $irregularPlural, contém as palavras que possuem apenas a forma singular.