我想获取现有对象的实例。我如何做到这一点,而不必将对象作为参数传递?这是我现在在做什么:PHP OOP - 将对象的实例获取到另一个类
class clas1 {
public $myArray;
public function setArray($a){
$this->myArray = $a;
}
}
class clas2 {
public $test;
function __construct($obj) {
$this->test = $obj;
}
}
$c = new clas1;
$c->setArray(array('firstname'=>'Fred'));
$c2 = new clas2($c);
var_dump($c2);
的var_dump的输出是:
object(clas2)[2]
public 'test' =>
object(clas1)[1]
public 'myArray' =>
array
'firstname' => string 'Fred' (length=4)
我想我可以有每个对象的父对象的属性,但是否有任何其他建议?
什么是错的这种方式?根据您需要对clas1实例执行的实际操作,您可能需要也可能不需要在clas2属性中存储实例的链接。 –
你现在这样做的方式被称为依赖注入(http://en.wikipedia.org/wiki/Dependency_injection),实际上往往是首选的方法。 –
我希望能够使用这些方法并访问属性的当前值。有没有办法通过做像$ test =&new $ clas1这样的东西来获得现有的实例?像获得参考?请原谅我的无知......我只是把我的头转向OOP。看起来“笨重”必须通过对象。 – Owen