CakePHP中的每个数据库表是否都必须有一个模型类?
每个模型类别是否必须有一个控制器?
最佳答案
有必要上模型课吗
在cakephp中的每个数据库表?
通常,是的。如果您希望从特定表中检索,修改或删除数据,那么CakePHP的方法是为该特定表创建模型并使用内置方法。例外是:
联接表:如果联接表非常简单,则无需为它们创建模型。
如果由于某种原因您不想为几个表创建模型,而是使用另一个模型的query
函数来访问它们。
相反:您可以拥有不带表的模型,这对于验证表单非常有用。我从来没有发现自己的模型数量少于我拥有的表数量(减去简单的连接表)。
是否需要一个控制器
每个模型课?
不,这不对。虽然MVC模式要求每个模型都应由其自己的控制器来操纵,但有时一个控制器处理多个模型时,会使代码更简单。一个示例是拥有一个User模型,该模型具有一个配置文件和hasMany地址。您可以从UsersController
操作所有3个模型:
class UsersController extends AppController {
var $uses = array('User', 'Profile', 'Address');
function edit_profile() {
...
}
function change_address() {
...
}
}
始终使用MVC作为指导原则。如果您偏离体系结构太多,那么事情很容易崩溃。但是,最终,干净,有条理和有效的代码才是重要的。 :)
HTH。
关于cakephp - 所有数据库表的模型类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4554393/