HttpErrorHandler
extends ErrorHandler
in package
エラーハンドリング処理。
Table of Contents
Properties
- $logger : ILogger
- $isRegistered : bool
- 登録済みか。
- $programContext : ProgramContext
- $responsePrinterFactory : IResponsePrinterFactory
- $templateFactory : ITemplateFactory
- $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
$isRegistered
登録済みか。
private
bool
$isRegistered
= false
$programContext
private
ProgramContext
$programContext
Attributes
- #[Inject]
$responsePrinterFactory
private
IResponsePrinterFactory
$responsePrinterFactory
Attributes
- #[Inject]
$templateFactory
private
ITemplateFactory
$templateFactory
Attributes
- #[Inject]
- \PeServer\Core\Mvc\Template\TemplateFactory::class
$webSecurity
private
WebSecurity
$webSecurity
Attributes
- #[Inject]
Methods
__construct()
public
__construct(ILogger $logger) : mixed
Parameters
- $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