我正在学习CodeIgniter。我想知道哪一个是更新数据库时获取表单POST数据的最佳实践:来自Controller还是来自Model?
如果我们在Controller中获取POST数据,那么我们需要将数据作为参数传递给Model函数,但Model函数可以以其他形式使用。如果我们直接在模型中获取POST数据,那么我们可以消除参数传递步骤,但它仅限于某些特定形式。
哪一个是最佳做法?
感谢。
答案 0 :(得分:5)
最佳做法是在控制器中处理您的视图代码(表单响应等),然后将您需要的任何内容作为参数传递给模型。
这允许大多数重用,因为您的模型(及其方法)可以重复使用,例如,如果您有不同的视图和控制器,需要以不同方式处理表单的模型(例如API)。 / p>
答案 1 :(得分:4)
最佳做法是在Controller和服务层中进行所有数据处理,然后仅将所需数据传递给Modal或View。这样,您就可以控制信息流,并在概念之间实现清晰的分离。 Model对象只能通过ORM用作数据对象,仅此而已。控制器应包含所有业务逻辑。