AppErrorHandler
extends HttpErrorHandler
in package
FinalYes
エラーハンドリング処理。
Table of Contents
Properties
- $logger : ILogger
- $environment : Environment
- $isRegistered : bool
- 登録済みか。
- $jsonSerializer : JsonSerializer
- $programContext : ProgramContext
- $requestPath : RequestPath
- $responsePrinterFactory : IResponsePrinterFactory
- $templateFactory : ITemplateFactory
- $urlHelper : IUrlHelper
- $webSecurity : WebSecurity
Methods
- __construct() : mixed
- receiveError() : never
- エラーを処理する。
- receiveException() : never
- 未ハンドル例外を処理する。
- receiveShutdown() : void
- シャットダウン処理でエラーがあれば処理する。
- register() : void
- エラーハンドラの登録処理。
- trap() : ResultData
- E_ERROR 的なやつらを一時的に補足する。
- catchError() : void
- エラー取得処理(本体)。
- getHttpStatus() : HttpStatus
- 例外からHTTP応答ステータスコードを取得する。
- getSuppressionStatusList() : array<string|int, HttpStatus>
- 抑制エラーコード指定。
- catchErrorCore() : never
- エラー取得処理(呼び出し側)。
- getFileContents() : array<string, string>
- 検出できるソースファイル内容をすべて取得。
Properties
$logger read-only
protected
ILogger
$logger
$environment
private
Environment
$environment
$isRegistered
登録済みか。
private
bool
$isRegistered
= false
$jsonSerializer
private
JsonSerializer
$jsonSerializer
$programContext
private
ProgramContext
$programContext
$requestPath
private
RequestPath
$requestPath
$responsePrinterFactory
private
IResponsePrinterFactory
$responsePrinterFactory
$templateFactory
private
ITemplateFactory
$templateFactory
$urlHelper
private
IUrlHelper
$urlHelper
$webSecurity
private
WebSecurity
$webSecurity
Methods
__construct()
public
__construct(RequestPath $requestPath, TemplateFactory $templateFactory, IResponsePrinterFactory $responsePrinterFactory, ProgramContext $programContext, IUrlHelper $urlHelper, WebSecurity $webSecurity, JsonSerializer|null $jsonSerializer, Environment $environment, ILogger $logger) : mixed
Parameters
- $requestPath : RequestPath
- $templateFactory : TemplateFactory
- $responsePrinterFactory : IResponsePrinterFactory
- $programContext : ProgramContext
- $urlHelper : IUrlHelper
- $webSecurity : WebSecurity
- $jsonSerializer : JsonSerializer|null
- $environment : Environment
- $logger : ILogger
receiveError()
エラーを処理する。
public
final receiveError(int $errorNumber, string $errorMessage, string $errorFile, int $errorLineNumber) : never
Parameters
- $errorNumber : int
- $errorMessage : string
- $errorFile : string
- $errorLineNumber : int
Return values
neverreceiveException()
未ハンドル例外を処理する。
public
final receiveException(Throwable $throwable) : never
Parameters
- $throwable : Throwable
Return values
neverreceiveShutdown()
シャットダウン処理でエラーがあれば処理する。
public
final receiveShutdown() : void
register()
エラーハンドラの登録処理。
public
final register() : void
明示的に呼び出しが必要。
trap()
E_ERROR 的なやつらを一時的に補足する。
public
static trap(callable $action[, int $errorLevel = E_ALL ]) : ResultData
Parameters
- $action : callable
-
補足したい処理。
- $errorLevel : int = E_ALL
-
補足対象のエラーレベル。 https://www.php.net/manual/errorfunc.constants.php
Tags
Return values
ResultData —結果。補足できたかどうかの真偽値が成功状態に設定されるので処理の結果自体は呼び出し側で確認すること。
catchError()
エラー取得処理(本体)。
protected
catchError(int $errorNumber, string $message, string $file, int $lineNumber, Throwable|null $throwable) : void
Parameters
- $errorNumber : int
- $message : string
- $file : string
- $lineNumber : int
- $throwable : Throwable|null
getHttpStatus()
例外からHTTP応答ステータスコードを取得する。
protected
final getHttpStatus(Throwable|null $throwable) : HttpStatus
Parameters
- $throwable : Throwable|null
Return values
HttpStatus —設定されたHTTPステータスコード。
getSuppressionStatusList()
抑制エラーコード指定。
protected
getSuppressionStatusList() : array<string|int, HttpStatus>
Return values
array<string|int, HttpStatus>catchErrorCore()
エラー取得処理(呼び出し側)。
private
catchErrorCore(int $errorNumber, string $message, string $file, int $lineNumber, Throwable|null $throwable) : never
こいつが呼ばれた時点でもはや何もできない。
Parameters
- $errorNumber : int
- $message : string
- $file : string
- $lineNumber : int
- $throwable : Throwable|null
Tags
Return values
nevergetFileContents()
検出できるソースファイル内容をすべて取得。
private
getFileContents(string $file, Throwable|null $throwable) : array<string, string>
Parameters
- $file : string
- $throwable : Throwable|null