2011-11-07 78 views
4

我正在学习CodeIgniter。我想知道哪一个是更新数据库时获取表单POST数据的最佳实践:从Controller还是Model?在控制器或模型中获取POST数据

如果我们在Controller中获取POST数据,那么我们需要将数据作为参数传递给Model函数,但Model函数可以用于其他形式。如果我们直接在模型中获取POST数据,那么我们可以消除参数传递步骤,但它仅限于某些特定形式。

哪一个是最佳做法?

谢谢。

回答

3

最佳做法是在控制器和服务层执行所有数据处理,然后仅将所需数据传递到模态或视图。这样,您就可以控制信息流和概念之间的清晰分离。 Model对象只能通过ORM作为数据对象使用,仅此而已。控制器应该包含所有的业务逻辑。

5

最好的做法是在控制器中处理视图代码(表单响应等),然后将所需的任何参数作为参数传递给模型。

由于您的模型(及其方法)可以被重用,例如,如果您有不同的视图和控制器需要使用不同方式处理表单的模型(例如API),则可以最大限度地重用。