2009-08-14 53 views
0

寻找我的应用程序的结构一些建议\改善设计咨询为Zend的应用

用户登录并呈现一个值得欢迎的消息和选项 每个选项指向同一个控制器如OptionController一个菜单,但用不同的动作

/选项/ ABC
/选项/ DEF

OptionController.php 
{ 
abcAction() 
defAction() 
} 

为什么我有不同的行为的原因是因为每个选项会需要不同的表格

当表单呈现并且用户输入输入时,请求将再次提交给验证控制器,并且每个选项都有不同的操作。我需要基本的表单验证+自定义业务逻辑

我有它“工作”,但不认为这是一个好办法。思考?

+0

你问只有一个控制器有很多操作是坏的吗? – smack0007 2009-08-14 11:18:27

+0

不是。它更多的是处理表单。我是否应该有一个操作来呈现表单+一个操作来在同一个控制器中处理表单?如果验证失败,我想用适当的验证错误重新显示表格 – db83 2009-08-14 11:23:57

回答

2

我会建议的任务,在那里你总结不是艺术的结构(显示器,验证),但是,在你的话,“选项”

例如(:

controller: abcController 
actions: addAction() 
      editAction() 
      listAction() 
      viewAction() 
      deleteAction() 


controller: defController 
actions: addAction() 
      editAction() 
      listAction() 
      viewAction() 
      deleteAction() 

的CONFIGS对于你的表单(包括验证)应该在Zend_Form中扩展的自己的类中,这些类存储在它自己的文件夹中,例如APPLICATION_PATH。'/ forms'(参见ZF - 自动加载器)显示和验证表单可以驻留在同一个动作中,将它们分成添加和编辑(但是对于两者都使用相同的表单类)

您需要在所有控制器中完成的任务最好作为动作或视图助手来实现。

+0

也许将每个选项分割成它自己的控制器会更好。谢谢 – db83 2009-08-14 11:34:25