У меня есть пользовательское приложение / инфраструктура MVC, где каждое действие является функцией внутри класса контроллера.
У меня есть действие signup
, которое отображает вид с формой, запрашивающей данные пользователя.При отправке он отправляет действие processSignup
, которое проверяет данные и либо вставляет пользователя в базу данных и перенаправляет на страницу успеха, либо должно повторно отобразить исходное представление / форму с ошибками.
signup
Действие запускает несколько запросов и передает различные данные для просмотра.Например, он должен получить список доступных стран, которые пользователь может выбрать в раскрывающемся списке, получить список предлагаемых имен пользователей на основе имени, введенного им в предыдущей форме, и извлечь другие данные из модели.
Я пытаюсь выяснить, как можно избежать повторения всех этих запросов и визуализации представления в моем действии processSignup
в случае ошибки.Какой стандартный способ справиться с этими ситуациями?Действие signup
получает данные POST
из предыдущей формы, поэтому я не могу отправить форму регистрации себе и перейти на основе GET
против POST
.
Я мог бы просто вызвать signup
функционирует напрямую и заставляет его принимать необязательный параметр, чтобы различать обычные запросы и запросы для недопустимых форм, но это кажется хакерским.Как другие фреймворки справляются с этим сценарием?Я использую PHP, но это скорее вопрос высокого уровня, чем специфический для языка.