获取特定类的所有对象

时间:2011-06-27 11:44:40

标签: php oop class reflection

我必须通过引用列出作为类实例的对象

class Foo {}
class Foo1 {}
$obj1 = new Foo;
$obj2 = new Foo;
$obj32 = new Foo1;

我需要一个解决方案来获取所有Foo类实例的对象 你知道怎么做吗?

2 个答案:

答案 0 :(得分:13)

获取类的所有实例的解决方案是在创建类时保留实例化类的记录:

class Foo
{
  static $instances=array();
  public function __construct() {
    Foo::$instances[] = $this;
  }
}

现在,全局可访问的数组Foo::$instances将包含该类的所有实例。你的问题有点宽泛,所以我不能确切地说这是你正在寻找的。如果没有,它有望帮助您更清楚地了解您正在寻找的东西。

答案 1 :(得分:2)

看到这个回答Get all instances of a class in PHP过去曾帮我这么做。