Файловая структура Presenter / Controller View Model - PullRequest
1 голос
/ 18 марта 2011

Интересно, как вы, большинство разработчиков, разделяете MVC на разные файлы.Программное обеспечение, над которым я работаю, работает исключительно на AJAX, представление имеет нулевую логику, что делать с входными данными, оно имеет только логику пользовательского интерфейса и все действия, отправляемые в контроллер для обработки через гигантский случай переключения командой +аргументы (как POST) запрос.

например.3 файла

  • list_inventory.php (просмотр)
  • ajax_inventory.php (контроллер)
  • class_inventory.php (модель)

Теоретически, эта структура выглядит абсолютно идеально, и в большинстве случаев, однако, по мере развития, появляется повторяющийся код контроллера, поскольку у каждого представления есть свой собственный контроллер.Является ли совместное использование одного и того же контроллера обычной практикой для приложений CRUD?Также иногда контроллер имеет минимальный код, например.1 набор команд + аргумент - переключение в один регистр.

Кроме того, SEO и прочее не являются проблемой, поскольку это веб-приложение для интрасети.

1 Ответ

0 голосов
/ 22 марта 2011

Я обычно использую общий класс контроллеров или несколько базовых классов контроллеров, в зависимости от их назначения. Таким образом, весь повторяющийся код находится в одном месте, требуя только от разных контроллеров устанавливать правильные параметры для кода базового класса для работы,

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

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

Привет.

...