我正在使用PHP的set_error_handler(brodeur)
,以便我可以自定义错误处理的行为。
现在我发现自己想要自定义输出的显示位置/位置。目前,正如预期的那样,错误会显示在有缺陷的PHP代码位于标记内的位置。
我最好将输出显示在页面的最底部或最顶部,这样它就不会打扰页面内容的CSS /布局。
我的问题是我在代码中首先声明 brodeur 函数,然后定义set_error_handler(brodeur)
代码,然后是<HTML>...</HTML>
内容。
如果我在页面底部(或顶部)创建了一个DIV包装器,那么将这些错误字符串放在该DIV中的最佳方法是什么,这样做的PHP代码不会位于DIV中?或者我有什么其他选择吗?
答案 0 :(得分:3)
有很多方法可以解决这个问题。理想情况下,您已经将视图/模板与实际代码分开了。如果是这样,您可以将错误设置为数组并将其传递到模板中,然后将其放在任何您想要的位置。
如果您不想在该方法中使用它,您希望使用php的try和catch功能来处理错误:
$errors = array();
try {
// do all your code here
}
catch(Exception $e)
{
// do whatever you want with the error
// my example is pushing it into an errors array..
array_push($errors,$e->getMessage());
}
// now do whatever you want with $errors when you're ready..