如何通过php中另一个函数的construct()访问返回值?

mbyulnm0  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(423)

我正在尝试访问 test() 内部 __constructor() 但我绊倒了。任何人都可以告诉我如何从 __constructor() . 谢谢你的回答!

class some
{
    public function __construct()
    {
        $this->test(); // I want this test()
    }

    public function test() 
    {
        return 'abc';
    }
}

$some = new some;

echo $some;

print_r($some);

我自己试过了,但什么也没发生!
谢谢!

pcww981p

pcww981p1#

构造函数不返回值,而且不能只回显对象,请尝试此操作。

class some
{
    private $my_string;

    public function __construct()
    {
        $this->my_string = 'abc';
    }

    public function test() 
    {
        return $this->my_string;
    }
}

$some = new some;

echo $some->test();
wwwo4jvm

wwwo4jvm2#

简单的方法是实现 __toString() 在你们班上

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

打印您的对象

echo $some; // 'abc'

您可以改进代码:

class Some
{
    protected $test;

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

    public function __toString()
{
    return 'Your Value: ' . $this->test;
}
}

$some = new Some('Hello World');

echo $some; // Your Value: Hello World

相关问题