我有一个处理错误的课程。
我想调用类的公共静态方法来记录我的RPC服务器向我抛出的错误,而不需要使用__LINE__
命令。
这样的事情:
class errorHander{
public static $errors = array();
public static function logError($message){
self::$errors[] = array('message', NEEED SOMHOW TO GET THE calling class, get the file in which the error ocured);
}
}
这是最重要的,没有从被调用的函数传递文件位置。
像errorHander:logError(message, location)
之类的东西是不行的。
答案 0 :(得分:0)
这显然取决于你有什么样的错误。
您可能希望查看异常处理。 PHPs异常类提供方法getLine()和getTrace()。这可能就是你要找的东西。
答案 1 :(得分:0)
异常:: getLine和getFile方法,我没有办法在不处理异常的情况下执行此操作。 这是一个参考。 http://www.php.net/manual/en/class.exception.php
答案 2 :(得分:0)
logError()只需要一个参数而不是2。
做这样的事情:
class errorHander{
public static $errors = array();
public static function logError($message){
self::$errors[] = array('message'=>$message);
}
}
errorHander:logError("This is a no-yes go") //This should log
echo errorHander:errors[0]["message"]; //print it
希望有所帮助
答案 3 :(得分:0)
这可以使用xdebug-extension:http://xdebug.org
您可以使用xdebug_call_file()
和xdebug_call_class()
来获取所需信息。