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

__toStringメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

__toStringメソッドは、UnexpectedValueExceptionオブジェクトが持つ情報を、人間が読みやすい形式の文字列に変換して返す処理を実行するメソッドです。このメソッドは、主にデバッグやエラーログ記録の際に、例外の詳細を文字列として出力するために使用されます。UnexpectedValueExceptionクラスは、PHPの基本的な例外クラスであるExceptionを継承しています。この__toStringメソッドもExceptionクラスから継承されたものであり、その動作は親クラスの定義に従います。メソッドを呼び出すと、例外のクラス名、コンストラクタで設定されたメッセージとコード、例外がスローされたファイル名と行番号、そしてエラー発生までの関数呼び出し履歴を示すスタックトレースを含む、整形された文字列が返されます。これらの情報は、問題の原因を特定するための重要な手がかりとなります。また、echoやprint構文を使ってUnexpectedValueExceptionオブジェクトを直接文字列として扱おうとすると、この__toStringメソッドが内部的に自動で呼び出されます。これにより、開発者は明示的にメソッドを呼び出すことなく、例外オブジェクトの文字列表現を簡単に取得できます。

構文(syntax)

1<?php
2
3try {
4    throw new UnexpectedValueException("予期しない値です。", 101);
5} catch (UnexpectedValueException $e) {
6    // 例外オブジェクトを文字列として出力すると、
7    // __toString() メソッドが自動的に呼び出される
8    echo $e;
9}

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

このメソッドは、例外オブジェクトの文字列表現を返します。