Получить все объекты определенного класса - PullRequest
6 голосов
/ 27 июня 2011

Мне нужно перечислить объекты, которые являются экземплярами класса, по ссылке

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

Мне нужно решение, чтобы получить все объекты, которые являются экземплярами класса Foo. Вы знаете, как это сделать?

Ответы [ 2 ]

13 голосов
/ 27 июня 2011

Решение для получения всех экземпляров класса состоит в том, чтобы хранить записи экземпляров классов, когда вы их создаете:

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

Теперь глобально доступный массив Foo::$instances будет содержать все экземпляры этого класса.Ваш вопрос был немного широким, поэтому я не могу точно сказать, если это то, что вы ищете.Если нет, то, надеюсь, поможет вам понять, что вы ищете.

2 голосов
/ 27 июня 2011

См. Этот ответ Получить все экземпляры класса в PHP работал для меня, чтобы сделать это в прошлом.

...