Управление загрузкой изображений в Zend Framework - PullRequest
1 голос
/ 16 февраля 2011

Мое приложение загружает изображение и сохраняет информацию об изображении в базе данных.При необходимости он манипулирует изображением.На сайте есть несколько точек, где изображениями можно управлять следующим образом.

В каждом случае у меня есть действие imageuploadAction (), которое обрабатывает вещи.Поскольку у меня немного разные требования в зависимости от части сайта, в которой будет использоваться изображение, существует несколько различных действий imageupload в различных контроллерах сайта.Однако я хочу объединить их все в одно, чтобы упростить управление приложением.

Итак, мой вопрос: каков наилучший способ обработки возможностей загрузки изображений в пределах всего сайта в Zend Framework?Я чувствую, что это должно быть либо:

  1. Есть одно действие, которое делает все это, и различные контроллеры будут использовать это действие, либо ...

  2. Создать какой-то плагин, который делает это.Возможно, плагин Action Helper?Может быть, плагин контроллера какой-то?Какой плагин является лучшим способом сделать это?

Я склонен думать, что 2 - это путь, но хочу получить ваши отзывы по этому вопросу.Спасибо!

О, и плагин (или действие) будет физически загружать фотографии, классифицировать их, помечать их для различного использования, изменять размеры по мере необходимости, передавать данные в БД для всех действий CRUD по мере необходимости и т. Д.и т. д.

1 Ответ

2 голосов
/ 17 февраля 2011

То, что вы описываете, - это то, для чего были разработаны помощники действий, поэтому я бы предложил создать помощник действий для обработки загрузок и перемещения в него как можно большей части кода обработки.Однако вам все равно нужно вызывать этого помощника из ваших контроллеров, и тогда все сводится к тому, что подходит вашему приложению - центральному контроллеру, который обрабатывает загрузки (вызывая вашего помощника) или вызывая помощника из соответствующих точек в ваших существующих методах контроллера..

Если вы можете добраться до точки, в которой действия по загрузке изображений так просты:

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

, то я бы сказал, что вы в хорошей форме, и вы можетевсегда используйте помощника в другом месте, если какие-либо части вашего приложения должны одновременно обрабатывать загрузку изображений и некоторые другие данные в форме.

...