@@ -153,24 +153,8 @@ public function exceptionHandler(Throwable $exception)
153153 public function errorHandler (int $ severity , string $ message , ?string $ file = null , ?int $ line = null )
154154 {
155155 if (error_reporting () & $ severity ) {
156- // Workaround for Faker deprecation errors in PHP 8.2.
157- // See https://github.com/FakerPHP/Faker/issues/479
158156 // @TODO Remove if Faker is fixed.
159- if (
160- $ severity === E_DEPRECATED
161- && strpos ($ file , VENDORPATH . 'fakerphp/faker/ ' ) !== false
162- && $ message === 'Use of "static" in callables is deprecated '
163- ) {
164- log_message (
165- LogLevel::WARNING ,
166- '[DEPRECATED] {message} in {errFile} on line {errLine}. ' ,
167- [
168- 'message ' => $ message ,
169- 'errFile ' => clean_path ($ file ?? '' ),
170- 'errLine ' => $ line ?? 0 ,
171- ]
172- );
173-
157+ if ($ this ->isFakerDeprecationError ($ severity , $ message , $ file , $ line )) {
174158 // Ignore the error.
175159 return true ;
176160 }
@@ -181,6 +165,34 @@ public function errorHandler(int $severity, string $message, ?string $file = nul
181165 return false ; // return false to propagate the error to PHP standard error handler
182166 }
183167
168+ /**
169+ * Workaround for Faker deprecation errors in PHP 8.2.
170+ *
171+ * @see https://github.com/FakerPHP/Faker/issues/479
172+ */
173+ private function isFakerDeprecationError (int $ severity , string $ message , ?string $ file = null , ?int $ line = null )
174+ {
175+ if (
176+ $ severity === E_DEPRECATED
177+ && strpos ($ file , VENDORPATH . 'fakerphp/faker/ ' ) !== false
178+ && $ message === 'Use of "static" in callables is deprecated '
179+ ) {
180+ log_message (
181+ LogLevel::WARNING ,
182+ '[DEPRECATED] {message} in {errFile} on line {errLine}. ' ,
183+ [
184+ 'message ' => $ message ,
185+ 'errFile ' => clean_path ($ file ?? '' ),
186+ 'errLine ' => $ line ?? 0 ,
187+ ]
188+ );
189+
190+ return true ;
191+ }
192+
193+ return false ;
194+ }
195+
184196 /**
185197 * Checks to see if any errors have happened during shutdown that
186198 * need to be caught and handle them.
0 commit comments