下面的代码段:是否有可能获得父呼叫子对象?
class a{
public function __get($key) {
if($key == 'obj') {
if($b->obj == null) { //PSEUDO this is what I intend to do :)
$obj = new Obj();
$b->obj = $obj
}
return $obj;
}
}
}
class b extends a{
private $obj = null;
public function __get($key) {
return parent::__get($key);
}
}
这样的想法是创造需求的对象。但我不知道是否可以检测调用parent :: _ get方法的对象的类。一些像孩子这样的操作员就是我在寻找的东西我猜:)。
什么是可能的,但多余的是,比如我有一个名为国家一个对象,所以我在其中有一个国家目标和其他类地点与也有一个Country对象我的类用户自定义。这两个类都扩展了class a。我可以通过将a类中的if块写入每个子类来解决问题。但那是我不想做的。因此,能够在类中检查一个名为__get函数的类并将所需的Country对象直接设置到子类中会更容易。我希望我的问题变得清晰,这不是太奇怪,呵呵。尽管我对任何其他解决方案都是开放的......谢谢。
没错,这就是不知我的解决方案,这里的问题是,这个$ - > _ OBJ ==因为类没有一个叫_obj成员空总是正确的。这基本上就是你不得不问孩子课你有这个对象了。这样,每次我想访问一个成员时,它都会继续创建对象。 – samy 2012-01-13 11:32:20
好 - 没有。查看输出 - 对象创建一次,第二次仅获取对象。 – bububaba 2012-01-13 11:37:23
好吧,谢谢,问题是,我的成员私人所以母亲不能更新他们:)谢谢! – samy 2012-01-13 17:48:45