У меня есть пользовательский класс, который при вызове перенаправляется на страницу и отправляет переменную message_type и message через GET. Когда страница открывается, она проверяет эти переменные и отображает сообщение об ошибке «успех», «предупреждение» или «ошибка» в зависимости от переменной «message_type». Я сделал так, чтобы пользователь подумал, что они остаются на одной странице. Он также позволяет передавать другие переменные вместе с сообщением.Обработка ошибок в PHP
Является ли это хорошей практикой, или я должен просто начать использовать исключения?
Пример:
//Call a static function that will redirect to a page, with an error message
RedirectWithMessage::go('somepage.php', MessageType::ERROR, 'Error message here.');
Следующая функция checkMessage() представляет собой файл, включают в себя:
function checkMessage()
{
if((isset($_GET['message_type']) && strlen($_GET['message_type'])) && (isset($_GET['message']) && strlen($_GET['message_type'])))
{
DisplayMessage::display($_GET['message_type'], $_GET['message']);
return true;
}
return false;
}
На странице, которая перенаправляется на, вызовите checkMessage();
//If a message is received, display it. If not, do nothing
checkMessage();
Я знаю, что это может быть расплывчатым, и я могу предоставить больше кода, если это необходимо. Я думаю, проблема в том, что у меня нет большого опыта использования исключений, но я думаю, что они кажутся громоздкими (пишущие блоки try-catch повсюду). Пожалуйста, дайте мне знать, если я сделаю это более сложным для себя или если будет лучшее решение.
Спасибо! Mike
Спасибо, Майкл. Мне нравится идея сохранения сообщения в переменной $ _SESSION. Мне не понравилось, что сообщение остается, когда страница обновляется. –