我怎样才能得到一个类的实例列表

问题描述:

可能重复:
Get all instances of a class in PHP我怎样才能得到一个类的实例列表

如果我有一个类,并创建一系列类的实例,有没有我可以通过PHP检索这些实例的完整列表吗?我使用PHP 5.3.6。

+0

PHP不具有该功能。你必须自己管理实例列表。 – mario

不,你不能这样做。您可以为创建对象构建工厂类并将它们存储在静态数组中。

不管语言如何做到这一点的最好方法是在类中创建实例的单例列表,并在构造函数被调用时添加到实例中。

为您的方法添加一个静态计数器,并在每次使用构造函数时添加一个静态计数器。每次调用destruct时减去。

这应该给你一个想法,至少有多少实例活着。

您可以做的最好的方法是使用get_defined_vars()列出所有变量。你也应该看看get_object_vars()

只需在类内部添加一个私有静态变量,并在构造函数被调用时添加变量。用公共函数你可以得到变量的值。 :)

恐怕你无法做到这一点。 但是,你可以尝试实例添加到变量每次你构造你的类

function __construct(){  
    $instances[] = $this; 
}