Наименование корневого контроллера - PullRequest
18 голосов
/ 24 апреля 2009

Меня всегда волнует этот вопрос при запуске нового проекта. Когда я смотрю на примеры, такие как Mephisto, Typo и т. Д., Они направляют свой корень на контроллер, который относится к конкретному ресурсу / модели.

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

Кто-нибудь стремится создать контроллер, специально предназначенный для передней части сайта? Или, может быть, я смотрю на это совершенно неправильно, пожалуйста, дайте мне знать.

редактирование:

Вот где моя путаница существует:

маршруты rboard отображает root на контроллер с именем index ... но я даже не могу найти контроллер индекса

Маршруты Mephisto используют некоторые пользовательские маршруты , и нет корня или даже карты. Соединитесь с '/'

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

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

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

Ответы [ 4 ]

10 голосов
/ 25 апреля 2009

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

Точно. Так что вы делаете правильно.

Я часто делаю два контроллера для взаимодействия с вещами, которые не являются обычными для REST: «welcome» и «dashboard». Контроллер приветствия сопоставляется с корнем моего сайта, а контроллер «приборной панели» аналогичен, но для зарегистрированных пользователей.

6 голосов
/ 25 апреля 2009

Кто-нибудь стремится создать контроллер, специально предназначенный для передней части сайта? Или, может быть, я смотрю на это совершенно неправильно, пожалуйста, дайте мне знать.

Короткий ответ "да".

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

2 голосов
/ 24 апреля 2009

Не уверен, что это ответ, который вы ищете, но вот что я делаю. Я обычно использую комбинацию двух типов контроллеров, фронт-контроллера и контроллеров действий. Front Controller заботится о маршрутизации URL-адресов и определяет, какие действия предпринять, а контроллеры действий предоставляют реальную функциональность. Это аналогичный подход к тому, что делает Zend Framework.

С учетом сказанного, я буду передавать весь трафик через Front Controller, включая трафик главной страницы. У меня обычно есть контроллер действий с именем «IndexController», который обрабатывает разные запросы страниц, и часто главная страница попадает под эту категорию (а также такие вещи, как страницы политики конфиденциальности, контактные формы и т. Д.).

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

0 голосов
/ 25 апреля 2009

SiteController кажется лучшим именем для меня. SiteController будет содержать ваше самое важное действие, индекс, а мой SiteController всегда будет содержать другие действия, такие как контакт, информация и т. Д.

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