gpt4 book ai didi

php - MVC 模型,它们有什么用?

转载 作者:行者123 更新时间:2023-12-02 06:21:39 26 4
gpt4 key购买 nike

现在是我理解 MVC 的时候了,所以这就是我想要做的;而且我在了解模型应该做什么时遇到了麻烦。根据Wikipedia , 一个模型:

The model manages the behaviour and data of the application domain, responds to requests for information about its state (usually from the view), and responds to instructions to change state (usually from the controller). In event-driven systems, the model notifies observers (usually views) when the information changes so that they can react.

在 CakePHP 中,您应该以这种非常简单的方式建立模型:

<?php

class Posts extends AppModel {
var $name = 'Posts';
}

?>

因此,例如,如果我想要数据库中的最后 10 个帖子,我将创建一个如下所示的 Controller :

<?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 的变量传递给我的 View ,然后它会相应地呈现它。问题是,难道我的模型不应该做任何其他事情吗?因为如果它这么简单,自定义模型就没有意义了,我的意思是,它只是模型类的空扩展。

最佳答案

这个“模型类的空扩展”已经做了很多事情:它连接到数据库并完成检索和保存数据的所有细节处理。不过,它应该做更多的事情,包括持有 validation rules在您写入数据库的任何时候都强制执行,before/after filters 中需要的任何数据按摩以及您的应用程序中需要的任何其他自定义业务逻辑。模型用于存储您的中央业务数据逻辑,因此任何与表示或输入/输出无关但本质上对您的应用程序的核心逻辑建模的东西。仅仅因为基础知识易于设置并不意味着它们没有更多内容。

关于php - MVC 模型,它们有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8116310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com