Cakephp模型命名约定

时间:2013-12-11 05:22:28

标签: cakephp cakephp-2.0 cakephp-2.3 cakephp-appmodel

你好伙伴们可以帮助我解决这个问题:

http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/part-two.html

我对如何在cakephp中的模型命名约定感到困惑。

我注意到在博客教程中该模型名为“Post”,这是单数

class Post extends AppModel {
}

在控制器中,“发布”“帖子”,这是复数形式:

class PostsController extends AppController {
    public $helpers = array('Html', 'Form');
}

有人可以向我解释一下,谢谢。

1 个答案:

答案 0 :(得分:0)

这很烦人,我知道。

默认情况下,Cake对表名和控制器使用复数,但不对模型使用。 See here for more info
我很早就决定废除这个约定,到处都是单数名称。

我不建议在没有进行大量研究的情况下这样做,因为它打破了CakePHP惯例,然后你需要知道发生了什么。

如果您确定复数化更多是障碍而不是帮助,请将其放入bootstrap.php文件中:

// Turn off pluralization altogether
Inflector::rules(
    'plural', 
    array(
        'rules' => array('/^([a-zA-Z_-]*)$/i' => '\1'), 
        'irregular' => array(), 
        'uninflected' => array()
    )
);