好的,我有一点问题。这是场景:我需要能够获取 test2 的构造函数,以便能够访问 main_class 内部的类属性 test,该类属性已由 main_class 的构造函数设置。我不知道如何让它工作,我需要系统完全像这样工作。现在,如果我在代码中设置类变量,这将起作用,就像var test = "hello";
在类定义中一样,但当然在这种情况下,main_class::test 是由它的构造函数设置的,而不是“var”,所以它不会不工作。
这是我的代码的高度简化版本:
索引.php:
<?php
class main_class
{
private $test2;
public function __construct()
{
$this->test2 = array();
include("./test1.php");
$var_name = "test";
$this->$var_name = new test1();
}
protected function do_include()
{
include("./test2.php");
$this->test2["test2"] = new test2();
}
}
$test = new main_class();
?>
测试1.php:
class test1 extends main_class
{
public function __construct()
{
$this->do_include();
}
}
?>
测试2.php:
class test2 extends test1
{
public function __construct()
{
print_r($this->test);
}
}
?>
使用此代码,我收到此错误:注意:未定义属性:test2::$test
提前致谢...