如何"回声"一堂课?

And*_*rew 12 php tostring

这可能很容易,但我似乎无法弄清楚如何打印/回应一个类,所以我可以找到一些关于它的细节.

我知道这不起作用,但这正是我想要做的:

<?php echo $class; ?>
Run Code Online (Sandbox Code Playgroud)

实现这样的目标的正确方法是什么?

Dav*_*unt 25

您可以尝试在类中添加toString方法.然后,您可以回显一些有用的信息,或调用render方法来生成HTML或其他东西!

当您执行以下操作时,将调用__toString方法:

echo $class;
Run Code Online (Sandbox Code Playgroud)

要么

$str = (string)$class;
Run Code Online (Sandbox Code Playgroud)

链接的示例如下:

<?php
// Declare a simple class
class TestClass
{
    public $foo;

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

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

$class = new TestClass('Hello');
echo $class;
?>
Run Code Online (Sandbox Code Playgroud)


Jam*_*lis 17

如果您只是想打印类的内容以进行调试,请使用print_rvar_dump.

  • 我的速度是+1吗? (6认同)

Luc*_*c M 5

在类的实例上使用var_dump.

<?php
$my_class = new SomeClass();
var_dump( $my_class );
?>
Run Code Online (Sandbox Code Playgroud)