我想获得某个类的对象的所有实例。在PHP中获取一个类的所有实例
例如:
class Foo {
}
$a = new Foo();
$b = new Foo();
$instances = get_instances_of_class('Foo');
$instances
应该是array($a, $b)
或array($b, $a)
(顺序无关紧要)。
A plus是如果该函数将返回具有所请求类的超类的实例,但这不是必需的。
我能想到的一种方法是使用一个静态类成员变量,它包含一个实例数组。在该类的构造函数和析构函数中,我将从数组中添加或删除$this
。如果我必须在很多课上做,这很麻烦,容易出错。
你为什么觉得你需要这个? – troelskn 2009-01-24 12:25:42
@troelskn,我需要这个,因为我正在制作一个事件系统,并且需要能够将事件发送到某个类的所有对象(全局通知,如果您愿意的话,它是动态绑定的)。 – strager 2009-01-24 19:39:58