是时候让我了解 MVC,这就是我想要做的;而且我很难理解模型应该做什么。根据Wikipedia,一个模型:
模型管理应用程序域的行为和数据,响应有关其状态信息的请求(通常来自视图),并响应更改状态的指令(通常来自控制器)。在事件驱动系统中,模型会在信息发生变化时通知观察者(通常是视图),以便他们做出反应。
在 CakePHP 中,您应该以这种非常简单的方式设置模型:
<?php
class Posts extends AppModel {
var $name = 'Posts';
}
?>
因此,例如,如果我想要数据库中的最后 10 个帖子,我将创建一个如下所示的控制器:
<?php
class PostsController {
function retrieve_latest($number = 10) {
$posts = $this->Users->find(array(
'fields' => '*',
'order' => 'posts.post_id DESC',
'limit' => $number,
'page' => '1',
'conditions' => array('posts.post_display == 1')
));
$this->set('posts', $posts);
}
}
?>
这个人会将一个名为的变量传递posts
给我的视图,然后它会相应地渲染它。问题是,我的模型不应该做其他事情吗?因为如果它像这样简单,那么自定义模型根本没有意义,我的意思是,它只是模型类的一个空扩展。