когда я должен использовать несколько контроллеров в MVC? - PullRequest
3 голосов
/ 13 апреля 2010

Есть ли случаи, когда вы можете использовать несколько контроллеров в mvc?

например.

/ Контроллеры / foo.php

/ Контроллеры / bar.php

или

/ контроллеры / Foo / baz1.php

/ контроллеры / Foo / baz2.php

/ контроллеры / бар / baz1.php

/ контроллеры / бар / baz2.php

Может ли кто-нибудь привести несколько примеров, КОГДА я мог бы сделать это, и некоторые примеры имен контроллеров.

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

все отзывы и предложения приветствуются

Ответы [ 4 ]

5 голосов
/ 13 апреля 2010

Обычно контроллеры работают с моделями, которые представляют соответствующие таблицы базы данных. Так что если у вас есть таблицы пользователей и постов, ваше приложение будет иметь модели «Пользователь» и «Пост» и, следовательно, контроллеры «Пользователи и посты». Это типичный способ RoR, который используется во многих средах PHP MVC. URL в таком приложении выглядит следующим образом:

/controller/action/parameter1/parameter2/...
i.e.
/users/edit/1/
or
/posts/new/

И действия соответствуют методам класса контроллера. На самом деле я думаю, что это стало стандартом де-факто в архитектуре MVC, потому что это выглядит естественно и логично.

1 голос
/ 13 апреля 2010

В вашем приложении, если вы работаете с Пользователем, Сотрудником, Отделом, вы определите их в 3 классах, верно? Теперь создайте контроллер для каждого из этих классов: UserController, EmployeeController, DepartmentController и т. д.

пример:

Пользователь / Добавить /
Пользователь / Редактировать / 1 /
Пользователь / Удалить / 1 /

Сотрудник / Добавить /
Сотрудник / Редактировать / 1 /
Сотрудник / Удалить / 1 /

Отдел / Добавить /
Отдел / Правка / 1 /
Отдел / Удалить / 1 /

1 голос
/ 13 апреля 2010

Посмотрите на источник Nerd Dinner, http://nerddinner.codeplex.com/, имеет несколько контроллеров.

1 голос
/ 13 апреля 2010

почти всегда, когда вам нужно выполнить другое задание. Если у вас есть что-то, что связано с обработкой пользователей, назовите пользователей вашего контроллера. Какими бы то ни было, а затем назовите действия соответствующим образом (создание, редактирование, обновление, удаление, поиск и т. Д.). Если у вас есть что-то, что выполняет поиск, назовите это search.whither. И т. Д. Простой способ запоминания такого рода вещей можно получить из RESTful RFC (извините, не знаю, каков фактический номер RFC для этого), что-то вроде нечто. - заключая "вещь", которую обрабатывает этот контроллер, и глагол == выполняемое действие (см. выше). Это как минимум один метод.

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