如何在PHP中合并两个类?

use*_*729 7 php class

这样最终的类在这两个类中都有所有成员变量/方法

有一个简单的方法吗?

che*_*rtz 11

您应该将这两个类封装在一个包含的类中,并提供相关的接口(例如私有变量的setter/getters)

class YourFirstClass {
   public $variable;
   private $_variable2;
   public function setVariable2($a) {
       $this->_variable2 = $a;
   }
}

class YourSecondClass {
   public $variable;
   private $_variable2;
   public function setVariable2($a) {
       $this->_variable2 = $a;
   }
}

class ContaingClass {
   private $_first;
   private $_second;
   public function __construct(YourFirstClass $first, YourSecondClass $second) {
       $this->_first = $first;
       $this->_second = $second;
   }
   public function doSomething($aa) {
       $this->_first->setVariable2($aa);
   }
}
Run Code Online (Sandbox Code Playgroud)

研究(谷歌):"继承的构成"

脚注:抱歉非创意变量名称..

  • @ user198729:考虑到你的"运行时"要求,你真的是要合并两个*类*,或者你的意思是说两个*对象*? (7认同)