1

我有一个简单的网站,用户可以在其中上传图片,并为其命名。

上传表单应该在没有 JavaScript 和 JavaScript 的情况下工作(作为 XHR 层上的表单)。

我有一个:

  • Form_Upload
  • Model_Post(带有网关/映射器)
  • 上传控制器
  • SuperDuper - 处理文件上传、生成缩略图、存储图像等的类/资源。

我认为必须在 UploadController::uploadAction 中完成的事情是:

  1. 创建新表格
  2. 检查它是 POST 请求还是 GET 请求
  3. 检查是 XHR 请求还是常规请求
  4. 验证表格
  5. 从表单下载/接收文件
  6. 有效文件的 MIME 类型
  7. 使用 SuperDuper 转换文件,并返回附件 ID
  8. 如果一切正常,将带有附件 ID 的发布数据保存到数据库
  9. 在适当的上下文中返回响应
  10. 在适当的上下文中返回错误消息/表单错误

一个动作似乎可以完成很多事情。

并且有很多“ifs”,因为这个动作应该处理不同的上下文:GET、XHR POST、POST。

有没有什么好的 Zend 方法来处理这种情况(我相信它非常流行)。我应该在 Controller 中创建额外的私有函数来处理部分请求,还是根据上下文处理请求?

我的操作现在有 140 行长,而且似乎是错误的。

4

1 回答 1

0

在我看来,您应该为使用 Zend_Form 的表单类提供部分代码。在这个类应该是点1,4,5,6。和 10 你应该更好地显示在 flashmassanger 中。你的其余点必须在行动中,所以你也必须在行动中调用形式。

于 2012-05-30T07:51:51.327 回答