Именование корневого контроллера
Я всегда сталкиваюсь с этим вопросом при запуске нового проекта. Когда я смотрю на такие примеры, как Mephisto, Typo и т.д., Они направляют свой корень на контроллер, относящийся к определенному ресурсу/модели.
Моя проблема в том, что почти на каждом веб-сайте, который я когда-либо создавал, мне кажется, что моя первая страница на самом деле является совместной работой всех моих моделей, и я не вижу, что я указываю на контроллер, который связан с конкретным моя целевая страница.
Кто-нибудь имеет тенденцию создавать контроллер, специально предназначенный для передней части веб-сайта? Или, может быть, я смотрю на это совершенно неправильно, пожалуйста, дайте мне знать.
изменить:
Вот где моя путаница существует:
rboard routes сопоставляет корень с контроллером с индексом... но я даже не могу найти индексный контроллер
маршруты mephisto используют некоторую настраиваемую маршрутизацию и нет корня или даже map.connect к '/'
лучистые маршруты, основная часть приложения идет на один контроллер, который затем делает какую-то сумасшедшую магию
отслеживать маршруты перейдите к контроллеру, связанному с ресурсом (это пример, ближайший к тому, что я описал выше)... но не подходит мне, потому что, как я уже сказал, мои корни имеют тенденцию иметь массу вещей.
spot us фактически делает что-то похожее на то, что я делаю, есть домашний контроллер, который просто имеет шоу-действия, и это моя первая страница.
Ответы
Ответ 1
Моя проблема в том, что почти на каждом сайте Я когда-либо строил, я чувствую себя как мой фронт на самом деле все мои модели, и я не вижу себя указывая на контроллер, который связанный с конкретным, как мой целевую страницу.
Совершенно верно. Так что вы делаете правильно.
Я часто делаю два контроллера для взаимодействия с вещами, которые не являются обычным материалом REST: "приветствовать" и "панель мониторинга". Контроллер приветствия сопоставляется с моим корнем сайта, а контроллер "приборной панели" похож, но для зарегистрированных пользователей.
Ответ 2
Кто-нибудь имеет тенденцию создавать контроллер, специально предназначенный для передней части веб-сайта? Или, может быть, я смотрю на это совершенно неправильно, пожалуйста, дайте мне знать.
Короткий ответ - "да".
Для чего это стоит, я обычно применяю аналогичный подход к Spot.Us и определяю HomeController с помощью action/view index и просто оставляю его на этом.
Ответ 3
Не уверен, что это ответ, который вы ищете, но вот что я делаю. Обычно я использую комбинацию из двух типов контроллеров, контроллеров Front Controller и Action. Front Controller заботится о маршрутизации URL-адресов и определяет, какие действия следует предпринять, а Action Controllers обеспечивают фактическую функциональность. Это аналогичный подход к тому, что делает Zend Framework.
С учетом сказанного, я буду передавать весь трафик через Front Controller, включая трафик на первой странице. Обычно у меня есть контроллер действия с именем "IndexController", который обрабатывает разные запросы страниц, и часто передняя страница попадает под эту категорию (а также такие вещи, как страницы политики конфиденциальности, формы контактов и т.д.).
Если страница не связана конкретно с какой-либо логикой бизнес-домена сайта, я, как правило, ставил ее под моим контроллером действий по индексу, хотя я стараюсь как можно лучше группировать функциональные возможности сайта.
Ответ 4
SiteController кажется лучшим именем для меня. SiteController будет содержать ваши самые важные действия, индекс, и мой SiteController всегда содержит другие действия, такие как контакт, о и т.д.