インスタンスを持つ特定のクラスfooが与えられた場合、PHP echo foo;
カスタマイズされた方法で?
class TheClass {
public $Name;
public $Number;
function MrFunction() { /* bla bla bla */ }
}
$foo = new TheClass();
echo $foo;
私が理解しているように、echo
をオーバーロードすることはできません。私は$foo->MrFunction()
に簡単に仕事を任せることができると思います。しかし、私はコーディングする方法があるかどうか疑問に思っています
echo $foo
プリントアウト$foo->Name
および$foo->Number
。
PHPバージョン5.2.6を使用していますが、アップグレードは問題ではありません。
class TheClass {
public $Name;
public $Number;
function MrFunction() { /* bla bla bla */ }
public function __toString()
{
return $this->Name . ' '. $this->Number;
}
}
echo $theClassInstance;
print_r($foo)
またはvar_dump($foo)
を探していると思います。
はい、 __ toString マジックメソッドを使用します
必要なのは、__toString()
マジックメソッドです。ドキュメントの例では、必要なものが示されているはずです。
http://www.php.net/manual/en/language.oop5.magic.php#language.oop5.magic.tostring :