变形者不遵守习惯规则

时间:2019-04-30 18:21:30

标签: cakephp cakephp-3.0

使用CakePHP 3.7。

我在config/bootstrap.php的底部添加了

Inflector::rules('irregular', ['thesis' => 'theses']);

实际上,我已经尝试过

Inflector::rules('irregular', ['theses' => 'thesis']);

以防万一我倒过来。

在一个我要使用的单元格中:

    use Cake\Utility\Inflector;

    $singular_and_plural = [Inflector::singularize($base_name), $base_name];

将单词“主题”单数化的结果是“主题”。

有人可以在这里指出出什么问题吗?

1 个答案:

答案 0 :(得分:1)

第一种形式是正确的形式,键是单数,而值是复数。

也就是说,您在这里显示的是Inflector::singularize()的不正确/有问题的用法,因为您向其传递了已经是单数的值,这样做通常会给您带来意想不到的/错误的结果。在这种情况下,您可以打开问题通知单,有时可以将其固定在核心中,但通常情况下根本不可能,因为它会与现有的必需规则冲突。

还应注意,CakePHP已经可以开箱即用地处理thesis / theses,它具有与之匹配的单/复数规则。确保传递的是期望值,并且没有其他可能干扰您尝试改变的自定义规则。