首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在set_error_handler-ed函数中获取get_defined_vars()的最佳方法

在set_error_handler-ed函数中获取get_defined_vars()的最佳方法是使用debug_backtrace()函数。debug_backtrace()函数返回一个数组,其中包含当前执行点的函数调用堆栈信息。通过遍历这个数组,可以找到调用set_error_handler()函数的位置,并获取该位置的变量信息。

以下是一个示例代码:

代码语言:txt
复制
function errorHandler($errno, $errstr, $errfile, $errline) {
    $backtrace = debug_backtrace();
    foreach ($backtrace as $trace) {
        if (isset($trace['function']) && $trace['function'] == 'set_error_handler') {
            $vars = $trace['args'][0];
            break;
        }
    }
    
    // 处理获取到的变量信息
    // ...
}

set_error_handler('errorHandler');

// 其他代码...

在上述代码中,我们定义了一个名为errorHandler()的错误处理函数,并将其作为参数传递给set_error_handler()函数。在errorHandler()函数中,我们使用debug_backtrace()函数获取调用堆栈信息,并遍历堆栈数组,找到调用set_error_handler()函数的位置。然后,我们可以通过$trace['args'][0]获取到set_error_handler()函数中传递的第一个参数,即get_defined_vars()函数返回的变量信息。

请注意,debug_backtrace()函数会返回完整的调用堆栈信息,因此在实际使用时,可能需要根据具体情况进行适当的过滤和处理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

1分29秒

在Flask框架中,Response对象的`__bool__`和`__nonzero__`方法被重载

25分20秒

第9章:方法区/97-方法区在jdk6、jdk7、jdk8中的演进细节

4分54秒

day20_常用类/23-尚硅谷-Java语言高级-System类中获取时间戳的方法

4分54秒

day20_常用类/23-尚硅谷-Java语言高级-System类中获取时间戳的方法

4分54秒

day20_常用类/23-尚硅谷-Java语言高级-System类中获取时间戳的方法

6分24秒

16-JSON和Ajax请求&i18n国际化/03-尚硅谷-JSON-JSON在JavaScript中两种常用的转换方法

2分25秒

090.sync.Map的Swap方法

5分31秒

078.slices库相邻相等去重Compact

7分1秒

086.go的map遍历

10分30秒

053.go的error入门

9分56秒

055.error的包装和拆解

3分41秒

081.slices库查找索引Index

领券