关于对象打印的问题,为什么必须显示声明toString(php5.2.6)

关于对象打印的问题,为什么必须显示声明toString(php5.2.6)

<?
class Person{
         //public function __toString() {  
    //     return "";
    // }
}
$p = new Person();
echo  $p;
?>

我想打印类对象 php5.26为什么不可以
必须显示的声明一个toString方法 为什么?
错误信息 Catchable fatal error: Object of class Person could not be converted to string in

echo不能输出对象的。可以用print_r
print_r($p);
如履薄冰