在ZF2中,我有控制器工厂来实例化控制器。控制器显示和处理6个表单。表单共享提交按钮的相同name
,但具有不同的提交value
。
根据表单提交按钮的值,使用多个indexAction()
在控制器if-elseif
中处理表单。
我想摆脱if-elseif
。我想我需要在控制器的工厂类上使用策略设计模式。问题是我不知何故需要将提交按钮的值传递给控制器工厂。
我该怎么做?
答案 0 :(得分:0)
将此传递给控制器的方法是use Zend\Http\Request;
。使用请求对象,您可以获得发布的值。
BUT!挖掘后,找到2个资源:
我的经验法则是:控制器中有超过5-7个动作: 重构。超过1-2种形式:重构。否则,工作流程了 控制器变得太难以轻易跟随。
如果您在控制器中的操作使用相同的表单,则可以设置setValidationGroup()
并根据操作验证表单的不同部分。
因此,对于我的情况,我想,我需要重构控制器以分离表单。