PHP 中更改引用计数时触发事件
Fire event at changing refcount in PHP
当 refcount = 0 时,__destruct 魔术方法被调用。有什么方法可以捕捉到引用计数减少或增加但不为零的事实吗?
此类事件的一个用例是检测对象是被共享 (refcount > 1) 还是被拥有 (refcount = 1)。
编辑:好像不是。一种可能的解决方案是向 PHP 添加两个新的魔术方法:__owned 和 __shared。当 refcount = 0(破坏)、refcount = 1(拥有)和 refcount > 1(共享)时,我们会有方法。我将与 PHP 内部人员讨论。
不是没有自定义扩展名。 PHP 源代码中的很多地方都更改了 Refcount。添加事件可能会降低语言速度。
有关详细信息,请在 PHP 来源中搜索 GC_ADDREF(object);
。
当 refcount = 0 时,__destruct 魔术方法被调用。有什么方法可以捕捉到引用计数减少或增加但不为零的事实吗?
此类事件的一个用例是检测对象是被共享 (refcount > 1) 还是被拥有 (refcount = 1)。
编辑:好像不是。一种可能的解决方案是向 PHP 添加两个新的魔术方法:__owned 和 __shared。当 refcount = 0(破坏)、refcount = 1(拥有)和 refcount > 1(共享)时,我们会有方法。我将与 PHP 内部人员讨论。
不是没有自定义扩展名。 PHP 源代码中的很多地方都更改了 Refcount。添加事件可能会降低语言速度。
有关详细信息,请在 PHP 来源中搜索 GC_ADDREF(object);
。