Given a particular class with an instance foo, is there any way to have PHP echo foo;
in a customized manner?
class TheClass {
public $Name;
public $Number;
function MrFunction() { /* bla bla bla */ }
}
$foo = new TheClass();
echo $foo;
As I understand, you cannot overload echo
and I realize I could easily have $foo->MrFunction()
do the work. However I am wondering if there is a way to code in which
echo $foo
prints out $foo->Name
and $foo->Number
.
We're using PHP Version 5.2.6 but upgrading is not an issue.
What you need is the
__toString()
magic method. The example in the docs should show what you need.http://www.php.net/manual/en/language.oop5.magic.php#language.oop5.magic.tostring:
I think you are looking for
print_r($foo)
, orvar_dump($foo)
.Yes, using the __toString magic method