Какой хороший способ управлять сообщениями об ошибках и сообщениями об ошибках и кодами? - PullRequest
4 голосов
/ 15 июля 2009

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

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

Ответы [ 3 ]

1 голос
/ 15 июля 2009

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

<code>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:webmaster@somedomain.com>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 "

"; } set_error_handler ( 'checkErrors');

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

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

0 голосов
/ 15 июля 2009

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

http://www.phpdoc.org/

0 голосов
/ 15 июля 2009

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

<?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 для сообщений об ошибках, которые я нахожу, хотя это не очень организовано.

...