Есть ли такая вещь, как шаблон маршрутизации для веб-сайтов? - PullRequest
0 голосов
/ 03 декабря 2009

Я не нашел никакой информации о поиске, когда искал это. Я много исследовал шаблоны проектирования, но ничего не видел в отношении маршрутизации. Я имею в виду следующее: в свои php-дни я писал код на одной странице, а затем передавал его на следующую. Это создало (хотя я не знал об этом в то время) тесно связанный код, где изменение маршрутизации требовало, чтобы я запутался в длинной цепочке страниц.

Мне было интересно, существует ли какой-либо конкретный шаблон или класс шаблонов, которые имеют отношение к отправке данных нашей формы обратно в центральный объект и к тому, чтобы этот вызов вызывал следующую форму. Так, например, я бы перешел обратно на routing.php, а не signUpPage2.php. Затем routing.php передает данные в signUpPage2.php.

Я знаю, что это то, что PHP Cake и RoR пытаются сделать, но мне особенно интересно, есть ли шаблон для этого. Кажется, это не просто MVC, я не ошибаюсь, но могу ошибаться.

Спасибо!

Редактировать, есть ли у кого-нибудь рекомендации по книгам для этих типов шаблонов? Спасибо

Ответы [ 3 ]

1 голос
/ 03 декабря 2009

Post / Get / Response

http://en.wikipedia.org/wiki/Post/Redirect/Get

Цитируется:

Когда веб-форма отправляется на сервер с помощью запроса HTTP POST, веб-пользователь, который пытается обновить ответ сервера в определенных пользовательских агентах, может вызвать повторную отправку содержимого исходного запроса HTTP POST, что может привести к нежелательным результатам. , например, повторная покупка через Интернет.

Чтобы избежать этой проблемы, многие веб-разработчики используют шаблон PRG - вместо непосредственного возврата веб-страницы операция POST возвращает команду перенаправления (используя код ответа HTTP 303 [иногда 302] вместе с ответом HTTP «Location») header), инструктируя браузер загрузить другую страницу, используя HTTP-запрос GET. Затем веб-пользователь может безопасно обновить ответ сервера, не вызывая повторную отправку исходного запроса HTTP POST.

1 голос
/ 03 декабря 2009

У вас есть страницы (Просмотр), которые также принимают решение о маршрутизации (Контроль). На самом простом уровне мы вытягиваем логику управления, отделяя View от Control - отсюда и популярность Model View Controller в веб-приложениях.

Следующим шагом является реализация контроллера с использованием некоторой формы таблицы диспетчеризации - в мире Java это делается с помощью таких фреймворков, как Struts и JSF.

0 голосов
/ 03 декабря 2009

Похоже на Apache Struts, в котором вы указываете переходы в зависимости от результата действий.

Должен признать, что я не знаю, как называется шаблон.

...