在另一个类中使用一个类变量


Use one class variables in another class

如何访问加载到基类中的另一个类中的基类变量?

基本类示例

class base {
   public $get;
   public function __get( $name ) {
      require_once $name . '.php';
      $this->name = new $name( $this );
      return $this->name;
   }
   public function __construct( $varfromphplib ) {
     $this->varfromphplib = $varfromphplib;
     $this->get = explode( "/", $_SERVER['REQUEST_URI'] );
   }
}
$class = new base( $varfromphplib );

另一个类示例(用__get加载到基类中)

class another {
   public function showGet() {
      //there I wanna return base class $this->get;
   }
   public function getLibClass(){
      //there I wanna return $varfromphplib variable with baseclass prefix or not if can
   }
}
//usage in base class
$this->another->showGet( );

我不知道如何在"另一个"类中访问基类变量,比如$get希望有人能帮我。

如果一个类是从另一个继承的(A扩展了B),则可以使用$this->变量从父类调用变量。请注意,只有当继承类没有自己的构造函数并且没有同名的变量时,这才有效。

如果其中任何一个阻止您使用$this,那么您可以始终调用父类变量,就像从不相关的类中调用任何公共变量一样。即:A有受保护的变量$A,B扩展了A,但有一个名为$B的自己的变量。 $objA = new A(); echo "A->a = ".$objA->a;