Событие пожара при изменении refcount в PHP - PullRequest
0 голосов
/ 11 июля 2020

Когда refcount = 0, вызывается метод __destruct magi c. Есть ли способ уловить тот факт, что счетчик ссылок уменьшается или увеличивается, но не равен нулю?

Пример использования такого события - определить, является ли объект общим (refcount> 1) или принадлежит ( refcount = 1).

Изменить : Похоже, что нет. Возможное решение - добавить в PHP два новых метода magi c: __owned и __shared. У нас были бы методы для случаев, когда refcount = 0 (уничтожить), refcount = 1 (принадлежит) и refcount> 1 (общий). Обсуду с PHP внутренностями.

1 Ответ

0 голосов
/ 14 июля 2020

Не без специального расширения. Refcount изменен во многих местах в исходном коде PHP. Добавление события, вероятно, замедлит язык.

Для получения дополнительной информации найдите GC_ADDREF(object); в источнике PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...