Я изучал фреймворки PHP в конце некоторых личных проектов, и похоже, что большинство из них используют фронт-контроллер для имитации ответа. Контроллер получает параметры из запроса и перенаправляет, отправляя соответствующие заголовки в зависимости от логики. Это «ответ». Это лучший способ сделать это в PHP, или существуют другие теории о том, как обрабатывать перенаправление и ответы?Использует фронт-контроллер и заголовки лучший способ имитировать ответ в PHP?
ответ
Передний контроллер хорошо подходит для веб-окружения, позволяя выполнять любые запросы к вашему приложению. поскольку HTTP не имеет гражданства, и пользователь может в некотором смысле непреднамеренно наткнуться на части вашего приложения случайно (например, ударить случайные URL-адреса), фронт-контроллер позволяет определить точку входа вашего приложения и ответить соответствующим образом.
Редактировать: в ответ на комментарии, я думаю, что путаница может быть в том, что у java есть намного больше структуры, чем PHP, что может быть слишком сложным? в конечном счете, PHP может обеспечить очень простое взаимодействие с просьбы ответ:
switch($_GET['page']) {
case "one";
print "page one!";
break;
default:
print "default page";
break;
}
и оттуда вы можете слой в всех видах вещей к контроллерам передних прохождения запроса объекты вниз цепочка фильтров к контроллеру страницы, который перенаправляет на подходящую модель, которая захватывает данные через ваш уровень абстракции db, фильтрует его, обратно до контроллера и на представление, которое строит соответствующий ответ, все время отпуская случайные крючки событий. в конечном счете, вам решать (как разработчик) выбрать уровень сложности/разделения, который вы ищете. это и красота, и злость PHP :)
Я думаю, что вы вводите в заблуждение ответ Http с объектом ответа в рамках, на которые вы смотрели. Передний контроллер является шлюзом для вашего приложения - все (http) запросы проходят через него, и он направляется к соответствующему контроллеру/действию. Обработка запроса не требует результатов в возвращаемом ответе (часто запросы предназначены только для отправки информации на сервер), однако все запросы будут проходить через Front Controller.
Объект запроса часто используется для инкапсуляции параметров среды и http-запроса и предоставления API для их получения. Его дополнение, объект ответа, часто используется для инкапсуляции процесса генерации ответа HTTP, включая заголовки генерации.
Существуют и другие подходы к обработке запросов и маршрутизации, которые не являются уникальными для PHP (и ни один из них не является фронт-контроллером), например, для контроллера страниц, или вообще не используют структуру MVC.
- 1. Лучший способ имитировать домен?
- 2. Лучший способ скрыть заголовки в Sitecore/ASP.NET
- 3. Лучший способ разобрать ответ JSONP
- 4. Лучший способ получить ответ json
- 5. Лучший способ узнать PHP
- 6. Ответ PHP JSON содержит заголовки HTML
- 7. лучший способ перенаправления/перезагрузки страниц в PHP
- 8. Использует DTO лучший способ решить эту проблему?
- 9. Лучший способ наследовать подкласс, который использует STI
- 10. Лучший способ имитировать загрузочную панель в Python (Command-Line)
- 11. Лучший способ замедлить поток? Использует Sleep() OK?
- 12. Имитировать ответ ajax с jsfiddle и jQuery
- 13. Какой способ входа в PHP - лучший способ?
- 14. Хорошая практика в таблице - лучший способ сделать заголовки в таблице?
- 15. Лучший способ кодирования и декодирования текста PHP
- 16. Лучший способ перемещения загруженного файла в PHP?
- 17. Как имитировать медленный ответ сервера в Rails?
- 18. Лучший способ управления и связывания файлов php,
- 19. Лучший способ автоматического добавления заголовков stomp в заголовки
- 20. Какой лучший/самый RESTful способ имитировать вызов процедуры через HTTP?
- 21. Лучший способ POST и получить ответ от REST API'S
- 22. Лучший способ сделать асинхронной обработки в PHP
- 23. Лучший способ имитировать вызов с помощью jmp (сборка dos)
- 24. Какой лучший способ загрузить dll в php?
- 25. Браузер и ответ AJAX Заголовки CORS отличаются
- 26. php form validation - лучший способ?
- 27. Php RESTful WebService лучший способ?
- 28. Лучший способ узнать ООП (php)
- 29. Лучший способ обновить переменную PHP?
- 30. PHP Лучший способ остановить конструктор
кажется, что вы используете определенное определение ответа; но я не понимаю, что именно. можете ли вы уточнить, каков ваш контекст? – Javier 2008-10-12 03:09:23
Я думаю об объекте Response как в Java, где вы можете добавлять информацию об атрибутах для принимающей страницы (которая влияет на представление), но также и в смысле MVC, где может возникнуть маршрутизация из-за того, что запрос содержал , – 2008-10-12 03:32:49