是否有必要为cakephp中的每个数据库表创建模型类?
一般来说,是的.如果您希望检索,修改或删除特定表中的数据,那么CakePHP的方法是为该特定表创建模型并使用内置方法.例外情况是:
query另一个模型的函数来访问它们.相反:您可以拥有没有表格的模型,这对于验证表单非常有用.我从来没有发现自己的模型数量少于我拥有的表数(减去简单的连接表).
每个模型类都需要一个控制器吗?
不,这不对.虽然MVC模式规定每个模型都应由其自己的控制器操纵,但有时单个控制器处理多个模型会使代码更简单.一个例子是具有用户模型,其hasOne 资料和的hasMany 地址.您可以操作以下所有3个模型UsersController:
class UsersController extends AppController {
var $uses = array('User', 'Profile', 'Address');
function edit_profile() {
...
}
function change_address() {
...
}
}
Run Code Online (Sandbox Code Playgroud)
始终使用MVC作为指导原则.如果你偏离架构太多,事情很容易就会崩溃.但是,最终,干净,有组织和有效的代码才是最重要的.:)
HTH.