Skip to content

Commit e8c09a5

Browse files
committed
refactor: extract method
1 parent 7bd1ed5 commit e8c09a5

1 file changed

Lines changed: 29 additions & 17 deletions

File tree

system/Debug/Exceptions.php

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)