第10章 オブジェクト指向構文 / 第3回 模擬試験
PHPのマジックメソッドに関する次の記述のうち、正しいものはどれか。
`__toString()`は、オブジェクトを文字列として扱おうとした際に自動的に呼び出される。
正解
`__construct()`はマジックメソッドではない。
`__get()`は、定義済みのプロパティにアクセスした際に必ず呼び出される。
マジックメソッドは、メソッド名の前後にアンダースコアを付けなくても機能する。
解説
`__toString()`はオブジェクトを文字列コンテキストで使用した際(例:`echo $obj;`)に自動的に呼び出されます。`__get()`は「未定義」のプロパティへのアクセス時に呼ばれます。マジックメソッドは`__`(アンダースコア2つ)で始まる特別な名前を持つ必要があります。(参照: 独習PHP 第4版 第10章 オブジェクト指向構文 10.8節 マジックメソッド p.555〜568)