3.4.6 自定义Inflections
Cake的命名约束已经非常完美。你可以为你的表取名big_boxes,你的模块BigBox,你的控制器BigBoxesController。所有的东西都能自动地运行起来。CakePHP通过这些单词的单复数的变化了来联系事物。
有些情况下,CakePHP的inflector(比如pluralizes, singularizes, camelCases, and under_scores)不能像你预期的那样运行起来。如果CakePHP不能识别你的Foci或者Fish,你可以编辑/app/config/inflections.php文件告诉CakePHP你的特殊类
在这个文件中有六个变量,每个都允许你改变CakePHP inflection的行为
| inflections.php 变量 | 描述 |
|---|---|
| $pluralRules | 这个数组包含了复数化特殊案例的正则表达式的规则,键是要匹配的模式,值是要替换的值 |
| $uninflectedPlural | 一个数组,包含不需要改成复数的单词(像物质名词这样的单词) |
| $irregularPlural | 一个数组,包含单词和他的复数形式。数组的键是单词的单数形式,数组的值就是单词的复数形式。这个数组用来保存不需要遵循$pluralRules规则的单词 |
| $singularRules | 与$pluralRules类似,将单词变为单数形式 |
| $uninflectedSingular | 与$uninflectedPlural类似,这个数组里的单词没有单数形式,这个数组的默认设置与$uninflectedPlural相同。 |
| $irregularSingular | 与$irregularPlural相同,这个数组中的单词以单数形式存在 |
See comment for this section
