контроллер представления модели — Как отобразить сообщение об ошибке пользователю в PHP MVC с Slim Router?

Я использую PHP с паттерном MVC и микрорамкой Slim 3 для маршрутизации.

Мне нужно показать сообщение об ошибке пользователю в виде ветки. Эта ошибка касается неверного имени пользователя или пароля, которые они представили.

Поток такой:

  1. маршрутизатор Slim принимает GET-запрос от клиента по маршруту «/ login» и отправляет его в соответствующую функцию контроллера, которая отображает форму входа в систему.
  2. маршрутизатор Slim принимает POST-запрос от клиента по маршруту «/ login» и отправляет его в соответствующую функцию контроллера для проверки ввода пользователя и, возможно, проверки подлинности.

На данный момент мне нужно дать пользователю обратную связь, что их ввод был неверным. Я могу придумать несколько вариантов, но я не уверен, являются ли какие-либо из них «оптимальными» или лучшими.

  1. добавьте сообщение об ошибке в $ _SESSION и перенаправьте на маршрут «/ login», который затем отобразит все сообщения об ошибках, сохраненные в сеансе, в дополнение к форме входа.
  2. добавьте сообщение об ошибке в ответ Slim (\ Psr \ Http \ Message \ ResponseInterface) и перенаправьте на маршрут «/ login», который затем отобразит все сообщения об ошибках, сохраненные в запросе (или в аргументах), в дополнение к форме входа ,
  3. Выполните функцию контроллера displayLoginForm ($ request, $ response) напрямую, без каких-либо перенаправлений, поскольку функция уже находится в том же контроллере. сообщение об ошибке будет помещено в аргумент $ request.

Каков наилучший метод решения этой ситуации?

0

Решение

Лучшим решением было бы использовать «Flash-сообщения»

Документация здесь: https://www.slimframework.com/docs/v3/features/flash.html

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector