我正在使用基于MVC架构的PHP YII框架在服装网站的购物车页面上工作。购物车页面具有更新购物车中商品尺寸和数量的功能。
我可以在CartPageController
中放置两个动作,一个用于更新大小,另一个用于更新项目的数量,或者我只能使用一个参数,大小或数量的动作,然后执行所需的操作。
在设计方面哪种方法更好?
答案 0 :(得分:2)
就个人而言,我坚持一种方法。这两个操作基本上都是更改操作。因此change/quantity/4
和change/size/M
可以完全相同的方式处理。对于每个操作使用一个方法有一些说法,但由于控制器不是太多多次处理数据的地方,控制器方法可能如下所示:
public function changeAction()
{
$this->_model->change($arguments);//<-- let the Model-layer sort it out
}
根据经验:控制器是尽可能将数据推送到模型中的东西,Model层是所有逻辑所在的位置。将更改操作拆分为单独的控制器方法至少对我来说,就像应用程序的内部工作方式“转移”到控制器一样