我有以下(示例)代码:
class Foo {
public function __construct() {
$this->bar = new Bar();
$this->baz = new Bazr();
}
}
class Bar extends Foo {
public function __construct() {
parent::__construct();
$baz = $this->baz->alert();
}
}
class Baz extends Foo {
public function __construct() {
parent::__construct();
}
public function alert() {
echo('Hello!');
}
}
new Foo();
这将生成一个Fatal error: Maximum function nesting level of '100' reached, aborting!
. 我想要的是,正是这个,当然有不同的代码并且没有错误。
我想要的是一种方法来知道我的实例何时已经创建并且不允许同一对象的更多实例,避免循环引用。
了解了 Singletom,但没有任何效果。有什么想法吗?