From f729233ffd87db89617da38caa8ba0073c672d07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=91=E6=9E=97?= Date: Wed, 22 Jun 2022 19:01:44 +0800 Subject: [PATCH] modify plugin name --- kiri-engine/Error/ErrorHandler.php | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/kiri-engine/Error/ErrorHandler.php b/kiri-engine/Error/ErrorHandler.php index b2e30aea..a0d83d93 100644 --- a/kiri-engine/Error/ErrorHandler.php +++ b/kiri-engine/Error/ErrorHandler.php @@ -54,7 +54,12 @@ class ErrorHandler extends Component implements ErrorInterface */ public function registerExceptionHandler(?array $callback): void { - set_exception_handler($callback ?? [$this, 'exceptionHandler']); + if (empty($callback)) { + $callback = [$this, 'exceptionHandler']; + } else if (is_array($callback) && is_string($callback[0])) { + $callback[0] = Kiri::getDi()->get($callback[0]); + } + set_exception_handler($callback); } @@ -64,7 +69,12 @@ class ErrorHandler extends Component implements ErrorInterface */ public function registerErrorHandler(?array $callback): void { - set_error_handler($callback ?? [$this, 'errorHandler']); + if (empty($callback)) { + $callback = [$this, 'errorHandler']; + } else if (is_array($callback) && is_string($callback[0])) { + $callback[0] = Kiri::getDi()->get($callback[0]); + } + set_error_handler($callback); } @@ -74,7 +84,12 @@ class ErrorHandler extends Component implements ErrorInterface */ public function registerShutdownHandler(?array $callback): void { - register_shutdown_function($callback ?? [$this, 'shutdown']); + if (empty($callback)) { + $callback = [$this, 'shutdown']; + } else if (is_array($callback) && is_string($callback[0])) { + $callback[0] = Kiri::getDi()->get($callback[0]); + } + register_shutdown_function($callback); }