如何获取类的实例列表

发布于 2024-11-30 10:41:30 字数 245 浏览 1 评论 0原文

可能的重复:
获取 PHP 中某个类的所有实例

如果我有类并创建该类的多个实例,有没有办法让我通过 PHP 检索这些实例的完整列表?我正在使用 PHP 5.3.6。

Possible Duplicate:
Get all instances of a class in PHP

If I have a class and create a number of instances of that class, is there a way for me to retrieve a full list of those instances via PHP? I'm using PHP 5.3.6.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

七婞 2024-12-07 10:41:30

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

No, you can't do it. You can build factory class for creation objects and store them in static array.

赠我空喜 2024-12-07 10:41:30

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

这至少可以让您了解有多少实例还活着。

Add a static counter to your method, and add to it every time the constructor is used. Subtract every time destruct is called.

That should give you an idea at least of how many instances are alive.

二智少女 2024-12-07 10:41:30

无论语言如何,执行此操作的最佳方法是在类内创建实例的单例数组列表,并在调用构造函数时将其添加到其中。

The best way to do this regardless of language is to create a singleton arraylist of instances inside the class and add to it whenever the constructor is called.

感情旳空白 2024-12-07 10:41:30

只需在类中添加一个私有静态变量,每次调用构造函数时,都会递增该变量。通过公共函数,您可以获得变量的值。 :)

Just add a private static variable inside the class and eacht time the constructor is called, you increment the variable. And with a public function you can get the value of the variable. :)

ぃ弥猫深巷。 2024-12-07 10:41:30

恐怕你做不到这一点。
但是,您可以尝试在每次构建类时将实例添加到变量

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

I'm afraid you're not able to do this.
However, you can try to add instance to variable everytime you're constructing your class

function __construct(){    
    $instances[] = $this;
}
爱已欠费 2024-12-07 10:41:30

您可以做的最好的事情就是使用 get_define_vars() 列出所有变量。您还应该查看get_object_vars()

The best you can probably do is use get_defined_vars() to list all vars. You should also look into get_object_vars().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文