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

标签 php variables exception-handling callback closures

有什么方法可以将变量传递给 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
    }
}

最佳答案

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

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

 set_exception_handler($lambda);

关于PHP - 将一个额外的参数(变量)传递给 set_exception_handler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9574698/

相关文章:

variables - caffe 在测试阶段忘记设置变量

c++ - main() 会捕获线程抛出的异常吗?

javascript - 将隐藏输入添加到 Stripe 表单以用作后变量

php - 从 POST 获取复选框数组值

css - sass如何实例化一个由@if设置的空变量

c# - 仅用一个 try-catch 捕获应用程序中的所有异常

php - PDO 异常问题 - 如何捕捉它们

PHP 日期范围检查

php - pear 邮件功能 bcc 不会发送

c++ - 在 C++ 代码中使用希腊符号