我的类结构如下,
Class Core{
public $Variable = "Test";
Class SubClass{
// functions, etc
}
// functions etc
}
我需要从SubClass类中访问变量$variable,但我想不出方法。我尝试过$this->this->Variable
,但没有成功。
编辑虽然这是不正确的语法,但这就是我的类系统的设置方式(使用includes实现)。
假设设置了正确的继承模型,就可以使用parent::
。但您的代码是一个彻头彻尾的语法错误。你不能那样嵌套类。
Class Core {
public $var = 'test';
}
Class SubClass Extends Core {
function foo() {
$localvar = parent::$var;
}
}
评论跟进:
也许是更像这样的东西?
class Core {
public $Variable = 'foo';
function __construct() {
$this->subclass = new SubClass($this->variable);
}
}
class SubClass {
public $coreVariable;
function __construct(&$var) {
$this->coreVariable = $var;
}
}
我要回答这个问题,因为前面的评论显示了对PHP如何工作以及嵌套类和函数时变量范围的无知,这在PHP中非常好。当在过程代码库中使用包含的第三方类时,这种情况经常发生。
Class Core{
public $Variable = "Test";
Class SubClass{
// functions, etc
function new()
{
global $Variable;// this brings the variable into scope
echo $Variable;
{
}
// functions etc
}