PHP:set_error_handler和visibily

时间:2017-06-20 14:49:16

标签: php error-handling visibility

在我的类构造函数中,我有以下内容:

set_error_handler(array(
    $this,
    '_custom_error_handler'
));

在同一个班级中,我定义了以下方法:

protected function _custom_error_handler($error_number, $error_string, $error_file, $error_line)

当我的代码中的某些内容遇到错误时,我收到以下警告:

  

警告:无效的回调... _custom_error_handler,无法访问受保护的方法

为什么这个类(或它的孩子?)不能访问这个受保护的方法?不应该访问受保护的方法???

1 个答案:

答案 0 :(得分:3)

受保护的方法只能从类或子类内部访问。

在这种情况下,set_error_handler正在调用一个方法,而set_error_handler在外面你的类。因此必须公开。