所以在PHP中我正在尝试构建一个自定义错误处理程序类。这很简单: 我给它一个代码编号,它会返回一个格式化的错误消息,我可以用它发送到移动设备。
现在看起来像这样:
class Errorhandler {
private $errors = array(
//here be error codes and messages
100 => 'Missing input or parameter!'
);
public function __construct($code = 100){
//return formatted output
}
}
所以我会使用上面的类,如:
public function someFunction(){
//some conditions met, then throw an error
$handler = new ErrorHandler();
$this->response = $handler;
}
所以我在Errorhandler类中需要父函数的名称(someFunction),所以我可以使用格式化的错误消息返回它。 在旁注:我不想使用参数,在那里写太多。
答案 0 :(得分:2)
__FUNCTION__
这很神奇。点击此处:http://www.php.net/manual/en/language.constants.predefined.php
至于在你的ErrorHandler类中实际获取它,你必须将它传递给构造函数。 PHP不是 魔法。
答案 1 :(得分:0)
您可以使用debug_backtrace()
来获取已调用函数的函数。
debug_backtrace()
返回当前的调用堆栈。
答案 2 :(得分:0)
您可以解析debug_backtrace()
函数输出。它返回所有调用的关联数组到最顶层(http://php.net/manual/en/function.debug-backtrace.php)
另请注意,致命错误会中断正常的脚本执行并捕获它,您需要从register_shutdown_function()
注册的回调中调用错误处理程序(http://php.net/manual/ru/function.register-shutdown -function.php)