Для определенного класса с экземпляром 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;
Да, используя магический метод __toString
Вам нужен магический метод __toString()
. Пример в документах должен показать, что вам нужно.
http://www.php.net/manual/en/language.oop5.magic.php#language.oop5.magic.tostring :
Я думаю, что вы ищете print_r ($ foo) или var_dump ($ foo).