【PHP8.x】__constructメソッドの使い方

作成日: 更新日:

__constructメソッドは、ErrorExceptionクラスの新しいインスタンスを初期化し、PHPのエラーを例外として扱うための情報を受け取るメソッドです。この特別なメソッドは、クラスのオブジェクトがnew ErrorException(...)のように作成される際に自動的に呼び出され、初期設定を行います。

ErrorExceptionクラスは、PHPの実行中に発生する警告や通知、致命的なエラーといった様々なエラーを、通常の例外オブジェクトと同様にtry-catch構文で捕捉し、プログラムで処理できるようにするために使用されます。通常、PHPのエラーはスクリプトの実行を停止させないこともありますが、ErrorExceptionとして扱うことで、開発者はエラー発生時の柔軟な対応やプログラムの堅牢性を高めることができます。

この__constructメソッドは、例外として扱うエラーに関する以下の詳細な情報を受け取ります。エラーの具体的な内容を表す$message(文字列)、エラーの種類を識別する$code(整数)、エラーの深刻度を示す$severityE_WARNINGなどのPHP定数で指定される整数)、エラーが発生したファイル名を示す$filename(文字列)、およびそのファイル内の行番号を示す$lineno(整数)です。さらに、$previousという引数を使用することで、以前に発生した別の例外(Throwableインターフェースを実装するオブジェクト)を関連付け、例外の連鎖を実現し、より詳細なデバッグ情報を提供することも可能です。

このメソッドを通じて、開発者はPHPのエラー情報を詳細に設定し、標準的な例外処理メカニズムを利用して、より洗練されたエラーハンドリングを実装することができます。

基本的な使い方

構文(syntax)

1<?php
2
3$errorException = new ErrorException(
4    message: "エラーメッセージ",
5    code: 0,
6    severity: E_ERROR,
7    filename: __FILE__,
8    lineno: __LINE__,
9    previous: null
10);

引数(parameters)

string $message = '', int $code = 0, int $severity = E_ERROR, string $filename = FILE, int $lineno = LINE, ?Throwable $previous = null

  • string $message: エラーメッセージを指定する文字列
  • int $code: エラーコードを指定する整数
  • int $severity = E_ERROR: エラーの深刻度を指定する整数 (PHPの定数 E_ERROR など)
  • string $filename = FILE: エラーが発生したファイル名を指定する文字列
  • int $lineno = LINE: エラーが発生した行番号を指定する整数
  • ?Throwable $previous = null: この例外をラップする以前の例外オブジェクト (null許容)

戻り値(return)

戻り値なし

戻り値はありません

【PHP8.x】__constructメソッドの使い方 | いっしー@Webエンジニア