在我的类构造函数中,我有以下内容:
set_error_handler(array(
$this,
'_custom_error_handler'
));
在同一个班级中,我定义了以下方法:
protected function _custom_error_handler($error_number, $error_string, $error_file, $error_line)
当我的代码中的某些内容遇到错误时,我收到以下警告:
警告:无效的回调... _custom_error_handler,无法访问受保护的方法
为什么这个类(或它的孩子?)不能访问这个受保护的方法?不应该访问受保护的方法???
答案 0 :(得分:3)
受保护的方法只能从类或子类内部访问。
在这种情况下,set_error_handler正在调用一个方法,而set_error_handler在外面你的类。因此必须公开。