2009-07-14 3 views
4

В настоящее время у меня нет очень хорошей системы для управления сообщениями об ошибках или успехах, они в значительной степени написаны встроенным кодом. Может ли кто-то предложить лучшую практику или что-то, что вы делаете, чтобы иметь возможность правильно управлять большим списком сообщений об ошибках и успехах через приложение.Что такое хороший способ управлять сообщениями об ошибках и успехах?

Подумайте, интернационализация ... некоторые приложения будут иметь языковые файлы, тогда приложение просто вытаскивает строки из определенного файла ... Я думаю о реализации аналогичной концепции для сообщений об ошибках и успешности, и мне любопытно, что другие сделанные по тем же линиям?

+0

Я знаю, что это старый пост, но вы когда-нибудь найти решение, которое вы искали? – ServAce85

ответ

1

Вот функция, я использую:

function checkErrors($type, $msg, $file, $line, $context) { 
    echo "<h1>Error!</h1>"; 
    echo "An error occurred while executing this script. Please contact the <a href=mailto:[email protected]>webmaster</a> to report this error."; 
    echo "<p />"; 
    echo "Here is the information provided by the script:"; 
    echo "<hr><pre>"; 
    echo "Error code: $type<br />"; 
    echo "Error message: $msg<br />"; 
    echo "Script name and line number of error: $file:$line<br />"; 
    $variable_state = array_pop($context); 
    echo "Variable state when error occurred: "; 
    print_r($variable_state); 
    echo "</pre><hr>"; 
} 
set_error_handler('checkErrors'); 

это даст вам все ошибки и предупреждения, что ваш PHP код создает, наряду с создать страницу ошибки для вас в том случае, если кто-то посещает страницу который содержит ошибку.

Надеюсь, это поможет!

+0

ya, но фактические сообщения по-прежнему распространяются по всему вашему приложению, im ищет способ управлять фактическими сообщениями, которые используются во всем приложении. – farinspace

0

Поскольку я использую стиль системы единого доступа пунктов, который загружает приложение и включает в себя правильный файл (это в основном системный контроллер) можно использовать:

<?php 
try { 
    require 'bootstrap.php'; 
    // dispatch controller 
    require "controllers/$controller.php"; 
} catch (Exception $e) { 
    // echo info 
} catch (LibraryException $le) { 
    // library specific exception 
} 

Затем, когда я хочу, чтобы бросить ошибку Я просто:

throw new Exception('An error occurred.'); 

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

Вот как я могу управлять ошибками по массе, но не как управлять списком. Я мог бы grep для сообщений об ошибках, которые я нахожу, но на самом деле это не очень организовано.

+0

. Наилучшая практика будет иметь исключение из библиотекиException, а затем положить блок catch LE до захвата Exception блок. –

0

Вы можете использовать что-то вроде PHP Documentor и включать ошибки и сообщения в документы для каждого класса.

http://www.phpdoc.org/

Смежные вопросы