从嵌套类中访问类变量

时间:2013-07-23 21:20:56

标签: php class

我的班级结构如下,

Class Core{
      public $Variable = "Test";

      Class SubClass{
            // functions, etc

      }

      // functions etc
}

我需要从SubClass类中访问变量$ Variable,但我想不出办法来做到这一点。我试过$this->this->Variable但没有成功。

编辑虽然这是不正确的语法,但这是我的类系统的设置方式(并使用包含实现)。

2 个答案:

答案 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
}