在我的類的構造函數,我有以下幾點:PHP:的set_error_han dler和visibily
set_error_handler(array(
$this,
'_custom_error_handler'
));
在同一個班級,我已經定義了以下方法:
protected function _custom_error_handler($error_number, $error_string, $error_file, $error_line)
當東西在我的代碼運行進入錯誤,我收到以下警告:
警告:回調無效... _cu stom_error_handler,不能訪問受保護的方法
爲什麼這個類(或其子?)無法訪問這個受保護的方法?不應該保護方法是否可以訪問?
回調確實允許訪問受保護的方法,但PHP核心啓動回調的地方不屬於類。請注意與自己調用'call_user_func()'的區別。 –
您應該閱讀PHP編碼標準,特別是[PSR-2方法名稱](http://www.php-fig.org/psr/psr-2/#methods)。它說:*方法名稱不應該以一個下劃線作爲前綴來指示受保護或私有的可見性。* – apokryfos