我正在使用SplObjectStorage来保存有关托管对象的信息。当我的对象被破坏时,我希望SplObjectStorage
自动清理不再有外部引用的对象。
我现在只能看到两个选项:
- 让托管对象的析构函数通知存储删除对它的引用;这是不可接受的,因为这些对象不应该知道管理器;
- 解析debug_zval_dump()以获取引用计数;也不可接受,恕我直言,对于严肃的应用程序来说太“hacky”了。
还有其他想法吗?
我正在使用SplObjectStorage来保存有关托管对象的信息。当我的对象被破坏时,我希望SplObjectStorage
自动清理不再有外部引用的对象。
我现在只能看到两个选项:
还有其他想法吗?