gpt4 book ai didi

codeigniter - Controller 或模型中处理的表单数据 : Which is better?

转载 作者:行者123 更新时间:2023-12-04 03:14:15 24 4
gpt4 key购买 nike

我只是想知道哪个更好,或者更推荐用于处理表单数据。

// Controller
// validation etc
$data = array('name'=>$this->input->post('name'), '... etc');
$this->user_model->insert($data);

// Model
function insert($data){
$this->db->insert('users',$data);
}

// Controller
// validation etc
$this->user_model->insert();

// Model
function insert($data){
$data = array('name'=>$this->input->post('name'), '... etc');
$this->db->insert('users',$data);
}

我目前使用的是第二种方法。尽管插入没有问题,但我不得不说它不太适合更新。我最终不得不创建新方法来仅更新表的某些字段。我正在考虑更改为第一种方法。我只是想知道是否有人可以帮助更清楚地说明每种方法的优缺点。

谢谢!

最佳答案

我同意模型和库应该做大部分繁重的处理,但是我相信模型和库方法应该尽可能可重用,并且 Controller 应该充当流量主管,决定调用哪些模型和向他们发送什么数据。

所以在你的例子中,前者更有意义。以这种方式思考 - 除了通过表单发布之外,您是否可能希望以其他方式添加用户?

另一种选择,如果您想两全其美,请在模型中创建一个包装函数:

// Controller
// validation etc
$this->user_model->insert_from_post();

// Model
function insert_from_post(){
$data = array('name'=>$this->input->post('name'), '... etc');
$this->insert('users',$data);
}

function insert($data){
$this->db->insert('users',$data);
}

当然在这个例子中它看起来有点过分了。但在更复杂的应用程序中,您可以快速受益于能够重用已建立、可预测和经过测试的结果的功能。

关于codeigniter - Controller 或模型中处理的表单数据 : Which is better?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8576445/

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