Php 在codeigniter 3.1.5中,哪种方式是发布和处理数据的最佳方式
在CodeIgniter 3.1.5(最新版本)中,我对如何在控制器或模型中发布和处理数据有点困惑 方法:1在模型中Php 在codeigniter 3.1.5中,哪种方式是发布和处理数据的最佳方式,php,codeigniter,codeigniter-3,Php,Codeigniter,Codeigniter 3,在CodeIgniter 3.1.5(最新版本)中,我对如何在控制器或模型中发布和处理数据有点困惑 方法:1在模型中 public function insert_entry() { $this->title = $_POST['title']; $this->content = $_POST['content']; $this->date = time(); $this->db->insert('entries', $this);
public function insert_entry()
{
$this->title = $_POST['title'];
$this->content = $_POST['content'];
$this->date = time();
$this->db->insert('entries', $this);
}
方法:控制器中的2
public function insert_entry()
{
$title = $this->input->post("title");
$content = $this->input->post("content");
$date = $this->input->post("date");
$data = array(
'title' => $title,
'content' => $content,
'date' => $date
);
$this->model->insert($data);
}
然后在模型中处理数据和查询
如果我们正在创建一个大规模的web应用程序,那么这是一种有效的方法。如果没有充分的理由,您决不能在CodeIgniter中直接使用
$\u POST
。这样做意味着框架不会自动清理数据。因此,第二种方法是要走的路。以下是关于您的问题的一些建议
首先。发布和获取的用户
基本控制器对于大型项目也非常有用
Codeigniter有一个很好的验证库
主要我会建议你的是,请读出来。太棒了。我也从那开始
为了更好地理解,我添加了一些有用的链接
已发布的数据表单视图将首先出现在控制器中。(参见输入建议)然后将数据发送到模型,并根据需要进行进一步处理。实际上,没有最佳方法。只有良好实践。无论哪种方式,您都可以将其存档。但是模型和控制器有不同的工作 模型仅与数据库互连。控制器是自己的加载、初始化、传递和所有操作 我个人建议你是,如果它是一个数据库相关的东西使用模型。而不是在控制器中执行它(如文件上传、验证、重定向、加载URL)。如果我们以合乎道德的方式编写代码,它应该被其他开发人员理解。因此,如果事情一团糟,他/她就无法理解这些。所以只要把它弄清楚就行了。。总是
读这些
非常感谢您的回复。所以我们应该在控制器本身中写下所有的逻辑和条件,如果有任何数据库命中,我们应该调用模型,对吗?不完全正确。理想情况下,您应该尽可能多地将业务逻辑排除在控制器之外(这一原则有时被称为胖模型、瘦控制器)。但是,获取请求数据在逻辑上属于控制器。抱歉,编写模型而不是控制器。非常感谢您的建议,通常我只在控制器中完成所有处理表单验证、发布数据和处理,但有些开发人员喜欢在模型中发布所有数据,并基于在相同函数中发布的数据执行相同的查询(例如:在模型中插入_数据函数)。这就是为什么我有这种困惑。非常感谢您的回复,我通常只在模型中编写查询代码。我的困惑是在控制器或模型中发布数据。请您从我的帖子中建议一种方法,大多数开发人员可能会遵循。感谢您在controller或model中发布数据的意思what dataSuppose我们有一个注册表,因此在提交表单后,我们将使用post方法(发布)向controller或model发送数据。通过controller接收数据并验证这些数据。(例如:检查空的特殊字符,如果是电子邮件格式…),如果有任何错误,将其抛出查看。如果全部完成并成功,请将其发送给模型。所以模型只是执行更新/插入并返回响应。因此,再次基于响应,像往常一样在控制器中执行其余操作。太棒了!非常感谢。