改进当前的PHP函数来处理错误

时间:2011-03-11 19:13:34

标签: php function error-handling

如果有人可以帮助我改进此功能以使用此格式(从头开始,未经过测试):

<?php
  define("LINEA", __LINE__, true);
  function line($string)
  {
    return $string . LINEA;
  }
  echo line('Error: ');
?>

当前使用示例:

<?php
function line($startText, $line, $endText = NULL)
{
  $endText = !empty($endText) ? $endText : '';
  return $startText . $line . $endText;
}
/*
...
lot of code
...
*/
echo line('Error on line: ', __LINE__) . '<br />';
/*
...
lot of code
...
*/
echo line('Alert - ', __LINE__, '!');
?>

输出:

Error on line: 12
Alert - 18!

2 个答案:

答案 0 :(得分:2)

您可以考虑使用debug_backtrace来获取有关函数调用者的信息,包括行,文件,类,当前作用域等等。这样,您就不需要将任何行号信息传递到错误记录功能中。

请注意,生成此信息可能会对性能造成拖累。

您还应该考虑使用现有的日志记录包,例如PEAR's LogZend_LogApache log4php

答案 1 :(得分:1)

看起来你的line()函数对你没有任何好处。你为什么不打电话:

echo 'Error on line: ' . __LINE__;