相关疑难解决方法(0)

在Inflector的引导程序中定义一个单数规则

我正在使用CakePHP 2.1,需要为"软件"这个词定义一个Inflector规则,因为CakePHP正在将所有引用转换为复数形式的"软件",这是不正确的.Cake正在寻找SoftwaresController和一个名为Softwares的表.

我知道在引导带中创建规则,并阅读此文档参考.

http://book.cakephp.org/2.0/en/development/configuration.html#inflection-configuration

我还看了一下lib/Cake/Inflector.php文件,但是无法弄清楚定义规则的语法.它看起来有点像正则表达式.以下是一些规则示例.

        '/(s)tatus$/i' => '\1\2tatuses',
        '/(quiz)$/i' => '\1zes',
        '/^(ox)$/i' => '\1\2en',
        '/([m|l])ouse$/i' => '\1ice',
        '/(matr|vert|ind)(ix|ex)$/i' => '\1ices',
        '/(x|ch|ss|sh)$/i' => '\1es',
Run Code Online (Sandbox Code Playgroud)

定义软件奇异变形器规则的正确代码是什么?

编辑:

 Inflector::rules('singular', array('rules'=>array('/software/'=>'software'),'irregular'=>array('software'=>'software'),'uninflected'=>array('software')));
Run Code Online (Sandbox Code Playgroud)

我尝试添加此规则,该规则适用于SoftwareController,但Cake抱怨它无法找到Softwares表,它实际上名为"Software".我觉得我很接近,但仍然缺少一些关于它如何工作的东西.

php cakephp inflector

5
推荐指数
1
解决办法
2489
查看次数

标签 统计

cakephp ×1

inflector ×1

php ×1