PHP - 将一个额外的参数(变量)传递给set_exception_handler

Pav*_* S. 4 php variables closures exception-handling callback

有没有办法将变量传递给PHP中的set_exception_handler()方法?我需要这样的东西:

class Clazz {

    public /* static */ function foo() {
        set_exception_handler(array('Clazz', 'callback'), $var); // I need to pass $var

         // or this in non-static context
         $that = $this;
         set_exception_handler(array($that, 'callback'), $var); // I need to pass $var
    }

    public static function callback($exception, $var) {
        // process $exception using $var
    }
}
Run Code Online (Sandbox Code Playgroud)

and*_*vid 8

正如我在评论中已经指出的那样,你必须使用lambda函数:

 $lambda = function($exception) use ($var) {
    Clazz::callback($exception,$var);
 }

 set_exception_handler($lambda);
Run Code Online (Sandbox Code Playgroud)