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

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

作成日: 更新日:

基本的な使い方

lineプロパティは、BadMethodCallExceptionがスローされたソースコード上の行番号を保持するプロパティです。このプロパティは、PHPの基本的な例外クラスであるExceptionから継承されたもので、例外処理における標準的な機能の一つとして提供されています。プログラムの実行中に、存在しないメソッドやアクセス権のないメソッドを呼び出そうとするとBadMethodCallExceptionが発生しますが、その際に、どのファイルの何行目で問題が起きたのかを正確に特定するためにlineプロパティが利用されます。通常、try...catch構文でこの例外オブジェクトを捕捉し、getLine()メソッドを呼び出すことで、このプロパティに格納されている整数型の行番号を取得します。エラーメッセージを保持するmessageプロパティや、ファイルパスを保持するfileプロパティと組み合わせて使用することで、開発者は迅速にエラーの原因箇所を突き止め、デバッグ作業を効率的に進めることが可能になります。

構文(syntax)

1<?php
2
3try {
4    // 存在しないメソッドを呼び出すと BadMethodCallException がスローされます。
5    (new class{})->nonExistentMethod();
6} catch (BadMethodCallException $e) {
7    // 例外がスローされたコードの行番号を取得します。
8    $line = $e->getLine();
9    
10    echo $line;
11}

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

BadMethodCallExceptionクラスのlineプロパティは、例外が発生したコードの行番号を整数型(int)で返します。