PHP: Показать пользовательскую ошибку внутри тела - PullRequest
0 голосов
/ 01 февраля 2010

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

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

<code>function error($msg) {
    trigger_error($msg, E_USER_WARNING);
    echo '<pre>';
    debug_print_backtrace();
    echo '
'; }

Как я могу заставить свои ошибки печатать внутри тегов моей страницы?

Или есть лучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 01 февраля 2010

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

Я не уверен, полностью ли я следую за тем, что вы делаете, но, может быть, это оно?

<?php
class ErrorHandler
{
  static private $errors = null;

  static function report( ... /* see set_error_handler() for params */ )
  {       
    self::$errors .= "...";
    return true;
  }

  static function getErrors()
  {
     return self::$errors;
  }
}

set_error_handler(array('ErrorHandler', 'report'));

// ...

echo "<div>".ErrorHandler::getErrors()."</div>
?>
1 голос
/ 01 февраля 2010

Если на вашем сервере работает php5, вы должны использовать обработчик исключений .
Это именно то, что вам нужно, и как только вы поймете, как это работает, они действительно полезны.

Вот хороший урок о том, как их использовать;)

...