我的班级结构如下,
Class Core{
public $Variable = "Test";
Class SubClass{
// functions, etc
}
// functions etc
}
我需要从SubClass类中访问变量$ Variable,但我想不出办法来做到这一点。我试过$this->this->Variable
但没有成功。
编辑虽然这是不正确的语法,但这是我的类系统的设置方式(并使用包含实现)。
答案 0 :(得分:2)
假设您设置了正确的继承模型,则可以使用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;
}
}
答案 1 :(得分:0)
我将回答这个问题,因为之前的评论显示了对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
}