From f4333d0905a318f7824a00672ecc0b0ee78c41cb Mon Sep 17 00:00:00 2001 From: st'sahib <761264+stSaHiB@users.noreply.github.com> Date: Fri, 15 Oct 2021 10:27:51 +0200 Subject: [PATCH] Update FirePHP.class.php adding error_reporting() as 2nd parameter (error_levels), when registering the errorhandler, results in not having to have a call to errorHandler() whenever PHP throwing an error, but only for those, that are activated. E_WARNINGs and E_NOTICEs can sum up very fast in hundreds to thousands of unnecessary calls to errorHandler(), just to have errorHandler() to decide not to throw an exception. Drawback of this version: if you change error_reporting after registerErrorHandler(), you have to call registerErrorHandler again, in order to get the new error_reporting into count. For backward compatibility, a new parameter ($use_error_reporting) is introduced, defaulting to false, providing the functions old behaviour --- lib/FirePHPCore/FirePHP.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/FirePHPCore/FirePHP.class.php b/lib/FirePHPCore/FirePHP.class.php index e864d47..68b8763 100644 --- a/lib/FirePHPCore/FirePHP.class.php +++ b/lib/FirePHPCore/FirePHP.class.php @@ -482,7 +482,7 @@ public function getOption($name) * * @return mixed Returns a string containing the previously defined error handler (if any) */ - public function registerErrorHandler($throwErrorExceptions = false) + public function registerErrorHandler($throwErrorExceptions = false, $use_error_reporting = false) { //NOTE: The following errors will not be caught by this error handler: // E_ERROR, E_PARSE, E_CORE_ERROR, @@ -491,7 +491,7 @@ public function registerErrorHandler($throwErrorExceptions = false) $this->throwErrorExceptions = $throwErrorExceptions; - return set_error_handler(array($this, 'errorHandler')); + return $use_error_reporting?set_error_handler(array($this,'errorHandler'),error_reporting()):set_error_handler(array($this,'errorHandler')); } /**