PHP toString()不工作

PHP toString()不工作,php,oop,tostring,Php,Oop,Tostring,我正在学习一门udemy课程,在那里我们学习了toString,但是当我使用toString函数时,它在我的浏览器上没有显示任何内容 <?php class Baddie{ //property public $evilness = 10; public $name = ""; //constructor public function __construct($evilness, $name){ //echo "A ". _

我正在学习一门udemy课程,在那里我们学习了toString,但是当我使用toString函数时,它在我的浏览器上没有显示任何内容

<?php 

class Baddie{

    //property
    public $evilness = 10;
    public $name = "";

    //constructor
    public function __construct($evilness, $name){
        //echo "A ". __CLASS__ . " has been created!";
        $this->evilness = $evilness;
        $this->name = $name;
    }

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

$bad = new Baddie(3, "bob");

//var_dump($bad);

?>

这是一个截图 铬:


提前谢谢

您刚刚创建了一个新对象
Baddie
,但从未调用
\uu toString
方法。如果直接调用方法
$bad->\uuu-toString()
,或通过强制转换隐式调用,即
echo$bad
$str=(字符串)$bad

在您的情况下,您希望使用

$bad = new Baddie(3, "bob");
echo $bad;

您需要调用
toString()

或者只是

echo $bad

如果使用对象调用了
echo
,它将搜索
\uu toString
方法,并将其结果用作输出。

关于
echo$bad
甚至可以触发魔法函数。
echo $bad