在Zend Framework中管理映像上载

时间:2011-02-16 06:53:54

标签: zend-framework zend-controller-plugin

我的应用上传图片并将图片信息存储在数据库中。如果需要,它会操纵图像。站点中有几个点可以像这样管理图像。

在每种情况下,我都有一个处理事物的动作imageuploadAction()。因为我的要求略有不同,具体取决于网站的部分将要使用的图像,在网站的各种控制器中有几个不同的imageuploadAction。但是,我希望将它们组合成一个,以使应用程序更易于管理。

所以,我的问题是在Zend Framework中处理网站范围图像上传功能的最佳方法是什么?我觉得它必须是:

  1. 有一个动作可以完成所有操作并且各种控制器将使用该操作,或者......

  2. 创建一些可以执行此操作的插件。也许是一个动作助手插件?也许某种控制器插件?什么样的插件是最好的方法呢?

  3. 我倾向于认为2是要走的路,但希望得到您对此的反馈。谢谢!

    哦,插件(或操作)将处理物理上传照片,对其进行分类,标记它们以用于各种用途,根据需要调整大小,将数据传递到数据库以用于所有CRUD操作(如果需要等)等。

1 个答案:

答案 0 :(得分:2)

您所描述的是动作帮助程序的设计目的,因此我建议创建一个动作帮助程序来处理上传并尽可能多地将处理代码移动到其中。但是你仍然需要从你的控制器调用那个帮助器,所以它真正归结为适合你的应用程序 - 一个处理上传的中央控制器(通过调用你的帮助器)或从现有控制器方法中的相关点调用帮助器

如果您可以达到图像上传操作的简单程度:

public function imageuploadAction()
{
    if ($this->_helper->HandleImageUpload([...])) {
        [...]
    }
}

然后我会说你的状态非常好,如果你的应用程序的任何部分需要同时处理图像上传和表单中的其他数据,你可以随时在其他地方重复使用帮助器。