2010-12-09 2 views
0

Я думаю, что получаю основные понятия MVC, но я не уверен, где я должен поместить свою «домашнюю страницу»? Под этим я подразумеваю, например, страницу, которая появится, если вы перейдете на stackoverflow.com, а не на что-то вроде stackoverflow.com/questions, в котором есть явный контроллер (контроллер «вопросов»).Где находится «первая страница» в MVC?

У меня есть функция, которая определяет, какой контроллер использовать на основе переменной GET, но я не совсем уверен, что делать, когда эта переменная отсутствует. Я подумывал добавить define() как «путь по умолчанию», но я не уверен, что использовать. Основная страница будет попадать в категорию страниц, но будет ее собственным подразделением separte. Чтобы использовать stackoverflow в качестве примера, я мог направлять первую страницу на контроллер вопросов, но не знаю, что использовать в качестве действия. «Вопросы/титульная страница» мне кажутся плохим именем.

Его нечетное, но я не вижу этого в любом учебном пособии MVC.

ответ

3

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

Если у вас есть базовая маршрутизация, настроенная в файле типа начальной загрузки, просто укажите пробел $_SERVER['REQUEST_URI'] или аналогичный вашему домашнему контроллеру.

0

Большинство фреймворков MVC имеют определенный маршрут по умолчанию, определенный для пути «/». Вы можете вызвать контроллер, что имеет смысл, затем «главный» или «по умолчанию» работает нормально. Я обычно называю «первую страницу» любым контроллером «индекс».

+0

Я не использую рамки. Опять используя SO как пример, существует разница между «stackoverflow.com» и «stackoverflow.com/questions», но они оба являются «стандартными» страницами, на которых отображаются списки вопросов. Может быть, на первой странице должен быть свой собственный контроллер, только с «указательным» действием? – Kristina 2010-12-09 00:48:01

0

Ну, это может быть что угодно. U обычно использует Symfony или Zend, и у меня есть модуль/контроллер под названием default или core, и, вообще говоря, домашняя страница - это действие index в этом модуле/контроллере. Затем в моей конфигурации маршрутизации я указываю, что в качестве маршрута по умолчанию используется «/» или что-то еще в качестве моего URL-адреса маршрутизации.

1

Большинство структур MVC отображает контроллер без «действия», указанного в функции «index()» внутри контроллера, своего рода поведение по умолчанию.

в случае Kohana, в вызов

http://mysite.com 

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

0

По умолчанию используется значение по умолчанию «index.html». Если у вас есть «index.html» в корневом каталоге «www», это страница, которая будет отображаться, если на URL-адресе запроса нет ничего, кроме адреса веб-сайта.

Вы можете настроить конфигурационный файл apache (не уверен в ASP), чтобы сделать другую страницу или скрипт по умолчанию или сделать свой индекс по умолчанию (php | jsp | *).

Зависит от событий, но обычно я рекомендую вам статическую страницу «index.html», содержащую ссылки на динамические части вашего сайта.

Смежные вопросы