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