php中公共构造的访问函数
我有一个php程序,其中有一个函数和一个类,其中包含一个公共构造函数,我需要从公共构造内部调用该函数,如下代码所示:php中公共构造的访问函数,php,class,construct,Php,Class,Construct,我有一个php程序,其中有一个函数和一个类,其中包含一个公共构造函数,我需要从公共构造内部调用该函数,如下代码所示: class test { public $var0 = null; public function __construct() { $this->var0 = Tfunction('lol'); } } function Tfunction ($String) { $S = ($String . ' !');
class test {
public $var0 = null;
public function __construct() {
$this->var0 = Tfunction('lol');
}
}
function Tfunction ($String) {
$S = ($String . ' !');
return $S;
}
$j = new test();
echo($j);
当我运行这个函数时,它没有运行这个函数,我尝试了所有的事情,但它没有什么要放“lol!”在我的公共变量中,我如何才能使其工作
需要注意的是,我没有收到任何错误,告诉我该类无法访问fontion或类似的内容,只是似乎该行被忽略,并且$var0以null存档。您的代码有几个问题,请参阅文档: 错误:
Class test{
public $var0 = null;
public function __Construct() {
echo Tfunction('lol');
}
}
function Tfunction ($String) {
$S = ($String . ' !');
return $S;
}
$a = new test();
类声明是错误的。您需要创建类的对象
<?php
class test {
public $var0 = null;
public function __Construct() {
echo Tfunction('lol');
}
}
$obj=new test();
function Tfunction ($String) {
$S = ($String . ' !!');
return $S;
}
?>
我运行您的代码时输出的错误是 '类测试的对象无法转换为字符串' 有两种方法可以解决这个问题,你可以使用其中一种
echo($j)代码>将其更改为echo($j->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()
这两个修复都意味着“哈哈!”是输出到我的浏览器窗口的,正如最初预期的那样。Im verey sorrey我写问题时手头没有编译器,上面提到的小错误在实际程序中不存在,我无法上传,因为它包含私有元素,所以我制作了一个简化版本。我现在已经更正了代码,问题是相同的XD。您的最后一行不应该尝试打印出公共变量$var0吗。echo$j->var0;我的问题是,由于某种原因,函数Tfunction从未执行过,我不明白为什么不执行。我试着用publics之类的东西。真正令人困惑的是,当我试图在没有类的情况下调用函数时,我不能调用函数,当我在任何其他地方调用Tfunction时,它都会正常工作。但是我希望$var0等于创建Tfunction时Tfunction的返回值,而Tfunction应该有一个返回值而不是回音。对不起,luis…我忘了更新,我们需要在构造函数中使用echo,在函数中使用return。