1

我的班级结构如下,

Class Core{
      public $Variable = "Test";

      Class SubClass{
            // functions, etc

      }

      // functions etc
}

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

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

4

2 回答 2

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;
    }
}
于 2013-07-23T21:44:36.410 回答
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
}
于 2015-03-14T10:07:03.593 回答