Плохо ли менять взгляды в зависимости от действия? - PullRequest
3 голосов
/ 06 апреля 2011

У меня есть один контроллер, Index , который управляет несколькими неспециализированными информационными страницами (например, Домашняя страница, Обзор, Функции и т. Д.).Каждая страница имеет свое собственное действие в контроллере.В зависимости от действия для визуализации содержимого используется другой скрипт View.

Разве плохая практика - использовать разные скрипты View для визуализации каждого действия?Должна ли каждая страница иметь свой собственный контроллер?Спасибо,

Ответы [ 2 ]

3 голосов
/ 06 апреля 2011

То, что вы описываете, на самом деле является стандартной практикой, которую реализует Zend Framework MVC.Вот как Zend Framework «хочет», чтобы вы это сделали!Почему вы боитесь, что это может быть плохой практикой?

На ваш второй способ запроса ...

Должна ли каждая страница иметь свой собственный контроллер?

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

Какие функции должен выполнять этот контроллер?

  • Добавление пользователей,
  • удаление пользователей,
  • разрешение пользователям редактировать свои данные,
  • предоставление пользователям выбора друзей,
  • и т.д.

Таким образом, каждая из этих функций становится действием в вашем userController (функция = метод = действие).

Таким образом, вы автоматически получите легко читаемые URL-адреса.И наконец, у каждого действия есть сценарий просмотра .phtml, в котором находится необходимая разметка для этого действия.

3 голосов
/ 06 апреля 2011

Это совсем не плохая практика. Рассмотрим другой сценарий, общий для приложений PHP. CRUD (создание, чтение, обновление, удаление) для пользователей.

Все действия должны быть на одном контроллере для пользователей.

Я обычно использую:

  • index - показывает всех пользователей
  • добавить - создать нового пользователя
  • edit - редактировать существующего пользователя
  • удалить - удалить пользователя (не имеет представления, только перенаправляет).

Для добавления и редактирования имеет смысл использовать одно и то же представление, если это уместно, но нет никаких шансов, что добавление / редактирование могут использовать то же представление, что и индекс.

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