CakePhp命名约定。为什么会这样?

时间:2015-08-27 12:07:46

标签: php cakephp

是的,我理解mvc pardigm,但我想知道它在CakePhp中的处理方式是什么? 我有一个模型类别,如果我遵循命名约定,我的控制器将是类别 s 控制器。 但是在拼写和CakePhp处理方面它是错误的,我可以调用我的控制器CategoriesController。

1)它如何运作?

2)如果我同时拥有这两个控制器会怎样?他们与1个模型结合在一起?

我在cakebook = \

中没有发现这个问题

http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html

1 个答案:

答案 0 :(得分:3)

Cake使用正则表达式规则处理变形。这些规则考虑了英语复数词的大多数一般规则,甚至处理不规则的词,如“牛”等。 (复数:' oxen')和' person' (复数:' people')。您可以在lib/Cake/Utility/Inflector.php课程中找到规则。它们非常易于阅读,但您也可以使用此handy tool测试变形器。

如果您拥有控制器CategoriesControllerCategorysController,则默认使用Category模式作为'类别'和'分类'变为单数的类别'。如果您在应用程序中实际拥有这两个控制器,它不应该导致问题,因为您可以将多个控制器链接到模型;在代码中只会有点混乱。