Советы по разработке для приложения Zend

Нужны советы \ улучшения по структуре моего приложения

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

/ Опция / а
/ Опция / четкости

OptionController.php
{
abcAction()
defAction()
}

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

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

У меня это "работает", но не думаю, что это хороший способ сделать это. Мысли?

1 ответ

Я бы порекомендовал структуру, в которой вы суммируете не искусство (отображение, подтверждение) задачи, а, по вашим словам, "варианты"

например (:

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


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

конфиги для ваших форм (включая проверку) должны быть в собственных классах, расширенных из Zend_Form, которые хранятся в его собственной папке. например, APPLICATION_PATH.'/forms'. (см. ZF - автозагрузчик) отображение и проверка форм могут находиться в одном действии, обычно я делю их на добавление и редактирование. (но используя один и тот же класс формы для обоих)

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

Другие вопросы по тегам