У меня есть приложение, которое использует мыльный сервер для производства контента. Кроме того, аутентификация на сайте основана на отдельном сервере LDAP. Очевидно, что если один из них не работает или не отвечает, сайт не работает.
Я пытаюсь создать такой дизайн, чтобы я мог получать отчеты об ошибках для администраторов сайта, а также давать пользователю хорошее сообщение в случае, если сайт не работает. Отчеты об ошибках - это просто электронная почта, вставка базы данных или запись в текстовый файл на сервере PHP $ _COOKIE, $ _SERVER, $ _SESSION, $ _REQUEST и, возможно, исключение SoapFault. Эта информация поможет мне отладить любые потенциальные проблемы с сайтом, если они возникнут.
В настоящее время мой сайт оформлен следующим образом:
SoapClientInterface (defines soap functionality)
/ \
|
| implements
|
Client (the client implementing the interface, try/catch blocks on all soap calls here)
/ \
|
| extends
|
Authorization (asserts soap objects returned from server/ requests going to server
are appropriate for the user performing the request)
/ \
|
| extends
|
{all children classes using the soap interface defined on this level}
Из вышеприведенной диаграммы :-) У меня есть класс Client, который включает в себя все мои блоки try-catch для исключений soapfault, и мне интересно, как лучше сделать две вещи с помощью catch:
1. уведомить пользователя о том, что действие не выполнено (все мои функции включены в блоки if / else, и если я определил, что операция не удалась, я перенаправляю пользователя на страницу состояния и сообщаю ему, что его действие не удалось.
2. сообщать администраторам сайта о ситуации для отладки (на данный момент эта функция представляет собой простую функцию, определенную на странице состояния, что когда на странице состояния появляется код ошибки, мы сбрасываем переменные Cookier, Server, Session и Request и отправляем их по электронной почте на сайт Администраторы.
Любые предложения по этому вопросу будут оценены или, если вам нужны разъяснения, пожалуйста, спросите.
РЕДАКТИРОВАТЬ: В моем опыте веб-программирования мои приложения обычно отображают статус действий пользователя на странице, на которой происходит действие, и не перенаправляют в другое место. Это первый раз, когда я кодирую приложение для выполнения действий пользователя и перенаправления на отдельную страницу для всех сообщений о состоянии. Должен ли я бить себя за то, что я делаю это таким образом, видит ли кто-нибудь смысл иметь единую страницу статуса для всех действий сайта или иметь класс / функцию, которая сообщает о состоянии на странице, на которой происходило действие? (Я спрашиваю об этом в отношении того, чтобы думать о дизайне страницы статуса самостоятельно и о том, как сообщать об ошибках, а что нет.)