Inflector不遵守自定义规则

问题描述 投票:0回答:1

使用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];

在“论文”中单词化“论文”一词的结果。

任何人都可以指出这里有什么问题吗?

cakephp cakephp-3.0
1个回答
1
投票

第一种形式是正确的形式,键是奇异值,值是复数值。

话虽这么说,你在这里展示的是Inflector::singularize()的不正确/有问题的用法,因为你传递一个已经是单数的值,这样做通常会给你意想不到/错误的结果。在这种情况下你可以打开一张发行票,有时这可以在核心中修复,但通常不可能,因为它会与现有的必需规则冲突。

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

© www.soinside.com 2019 - 2024. All rights reserved.