PHP 回显 class 对象 属性

PHP echo class object property

是否可以 echo class 对象,以便显示此对象的一些 属性?

假设我们有这样的 class

class Color {

    public $color = "";

    function __construct($color) {
        $this->color = $color;
    }

}

然后我们创建它的 instanceecho 它:

$myColor = new Color("red");
echo $myColor; //I want it to echo 'red' ( same as I'd do echo $myColor->color )

这里发生的是我的对象有道具 color。当我有 echo $object 时,我希望它真正做到 echo $object->prop

是否可以制作这样的“回显”处理程序?

施展魔法__toString method:

class Color {

    public $color = "";

    function __construct($color) {
        $this->color = $color;
    }

    public function __toString() {
      return $this->color;
    }

}

如果实例被强制转换为字符串,例如,PHP 将自动调用此方法。回应时。