【PHP8.x】fileプロパティの使い方

fileプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

fileプロパティは、例外が発生したソースファイルの完全なパスを文字列として保持するプロパティです。このプロパティはRuntimeExceptionクラスに属しますが、実際にはその親クラスであるExceptionクラスで定義されており、それを継承して利用します。プログラムの実行中にRuntimeExceptionオブジェクトが生成されると、PHPの実行エンジンは、その例外が作られたファイルの名前を自動的にこのプロパティに格納します。この情報は、主にデバッグの過程で非常に重要な役割を果たします。ただし、このプロパティのアクセスレベルはprotectedであるため、クラスの外部から直接$exception->fileのようにアクセスすることはできません。値を取得するためには、公開されているgetFile()メソッドを呼び出す必要があります。エラーログを記録する際には、このfileプロパティから得られるファイルパスと、getLine()メソッドで取得できる行番号、そしてgetMessage()メソッドで得られるエラーメッセージを組み合わせることで、どこでどのような問題が発生したのかを迅速かつ正確に特定することが可能になります。

構文(syntax)

1<?php
2try {
3    // 例外を意図的にスローします
4    throw new RuntimeException('エラーが発生しました。');
5} catch (RuntimeException $e) {
6    // 例外オブジェクトから、エラーが発生したファイル名を取得します
7    // これは protected な $file プロパティの値です
8    $fileName = $e->getFile();
9    echo $fileName;
10}
11?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

RuntimeException クラスの $file プロパティは、例外が発生したファイル名を文字列で返します。