diff --git a/app/WillySoft/Http/ErrorHandler.php b/app/WillySoft/Http/ErrorHandler.php
index 9025ca8..ef77a15 100644
--- a/app/WillySoft/Http/ErrorHandler.php
+++ b/app/WillySoft/Http/ErrorHandler.php
@@ -21,34 +21,28 @@ abstract class ErrorHandler
public static function register(callable $callback)
{
ob_start();
- set_error_handler(self::error(...));
- set_exception_handler(self::exception(...));
- register_shutdown_function(self::shutdown(...), $callback);
- }
- private static function error($errno, $errstr, $errfile, $errline)
- {
- $errstr = htmlspecialchars($errstr);
- self::$error_messages[] = "Error[$errno]: $errstr in $errfile at line $errline";
- }
+ set_error_handler(function($errno, $errstr, $errfile, $errline) {
+ $errstr = htmlspecialchars($errstr);
+ self::$error_messages[] = "Error[$errno]: $errstr in $errfile at line $errline";
+ });
- private static function exception($exception)
- {
- self::$error_messages[] = "Uncaught Exception: " . $exception;
- }
+ set_exception_handler(function($exception) {
+ self::$error_messages[] = "Uncaught Exception: " . $exception;
+ });
- private static function shutdown(callable $callback)
- {
- if (!self::$error_messages) {
- return;
- }
+ register_shutdown_function(function() use(&$callback) {
+ if (!self::$error_messages) {
+ return;
+ }
- // remove current output to be replaced by error page
- ob_end_clean();
+ // remove current output to be replaced by error page
+ ob_end_clean();
- http_response_code(500);
- header_remove();
+ http_response_code(500);
+ header_remove();
- $callback(self::$error_messages);
+ $callback(self::$error_messages);
+ });
}
}
\ No newline at end of file