model-view-controller - MVC原理与数据控制

标签 model-view-controller codeigniter

开始学习 Codeigniter 并更好地掌握 MVC 后,我开始想知道一些事情。

假设有一个模型控制存储在数据库中的用户。通过在控制中验证的表单完成简单的注册,然后将数据传递到模型以存储在数据库中。现在,引入发布的数据并设置一个数组以传递到要存储的数据库的过程在模型中组装,如下所示:

function add_user() {
        $new_user_data = array(
            'etunimi' => $this->input->post('etunimi'),
            'sukunimi' => $this->input->post('sukunimi'),
            'osoite' => $this->input->post('osoite'),
            'postinro' => $this->input->post('postinro'),
            'toimipaikka' => $this->input->post('toimipaikka'),
            'puhelin' => $this->input->post('puhelin'),
            'email' => $this->input->post('email'),
            'tunnus' => $this->input->post('tunnus'),
            'salasana' => $this->input->post('salasana')
        );

        $insert = $this->db->insert('kayttajat', $new_user_data);

        return $insert;
    }

我正在考虑的是将数据的组装转移到 Controller 中,从而使模型更加独立和可重用。最终数据将作为方法参数传递:

function add_user ($new_user_data) {

        $insert = $this->db->insert('kayttajat', $new_user_data);

        return $insert;
    }

据我了解,这将在各层之间进行更多区分,因为模型除了检索和传递最终信息之外什么都不做,证明和组装的责任由 Controller 承担,而 View 只是将其全部打印出来并提供 UI。

我想要一些更有经验的意见,了解哪个概念更类似于 MVC 原则并且更有意义。

最佳答案

您可以在 Controller 中进行验证并将数据发送到模型:

Controller :

if ($this->form_validation->run()) {
    $this->my_model->add_user($this->input->post());
}

型号:

function add_user($input) {
    $this->db->insert('kayttajat', $input);
}

关于model-view-controller - MVC原理与数据控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11687249/

相关文章:

ruby-on-rails-3 - 在rails中更新页面而不持续刷新

javascript - 我如何将下拉值传递给ajax Controller ?

PHP, MySQL - 通过连接从多个表中删除

php - Codeigniter - 多个文件上传 -> 插入数据库 - 有问题!

model-view-controller - MVC设计模式模型逻辑

asp.net-mvc-3 - 仅使用 URL 的正确路由是错误的。 MVC 3 路由。

java - Java MVC 模式可以与委托(delegate)模式结合吗?

javascript - 在 MCV 局部 View 中使用 SignalR Hub

php - 如何为codeigniter项目完美设置虚拟主机?

php - 如何为 CodeIgniter 设置 cron 作业 URL?