我想获得某个类的对象的所有实例.
例如:
class Foo {
}
$a = new Foo();
$b = new Foo();
$instances = get_instances_of_class('Foo');
Run Code Online (Sandbox Code Playgroud)
$instances应该是array($a, $b)或array($b, $a)(顺序无关紧要).
一个加号是函数是否会返回具有所请求类的超类的实例,尽管这不是必需的.
我能想到的一个方法是使用一个包含实例数组的静态类成员变量.在类的构造函数和析构函数中,我将$this在数组中添加或删除.如果我必须在许多课程上这样做,这是相当麻烦和容易出错的.