gpt4 book ai didi

php - 从 php 中的公共(public)构造访问函数

转载 作者:搜寻专家 更新时间:2023-10-31 21:54:41 31 4
gpt4 key购买 nike

我有一个 php 程序,其中有一个函数和一个带有公共(public)构造函数的类,我需要从公共(public)构造内部调用该函数,如下面的代码所示:

class test {

public $var0 = null;

public function __construct() {

$this->var0 = Tfunction('lol');

}

}

function Tfunction ($String) {

$S = ($String . ' !');

return $S;

}

$j = new test();

echo($j);

当我运行它时,它没有运行该功能,我尝试了一切,但它不想放“哈哈!”进入我的公共(public)变量,我怎样才能让它工作?

需要注意的一件事是,我没有收到任何错误,告诉我该类无法访问字体或类似的东西,似乎该行被忽略了并且 $var0 被归档为 null。

最佳答案

我运行你的代码时输出的错误是;

'类测试的对象无法转换为字符串'

有两种方法可以解决这个问题,您可以使用其中一种;

  1. 将行 echo($j); 改为 echo($j->var0);

现在不是尝试打印对象,而是打印构造函数中设置的对象的公共(public)变量。

  1. 为您的对象添加一个 __toString() 方法,并使用它来输出 var0 字段。

    class test {

    public $var0 = null;

    public function __construct() {

    $this->var0 = Tfunction('lol');

    }

    public function __toString(){

    return $this->var0;

    }

    }

    function Tfunction ($String) {

    $S = ($String . ' !');

    return $S;

    }

    $j = new test();

    echo($j);

现在,当您尝试使用 echo($j); 打印对象时,它将使用您指定的 __toString() 来输出您的变量。

这两个修复都意味着“哈哈!”正如最初预期的那样,输出到我的浏览器窗口。

关于php - 从 php 中的公共(public)构造访问函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34473885/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com