Класс WeakMap
WeakMap
&reftitle.intro;
Класс WeakMap — карта, или словарь,
который принимает объекты как ключи. Однако, объект в ключе
экземпляра WeakMap не влияет на счётчик
ссылок объекта, в отличие от аналогичного в остальном класса
SplObjectStorage. То есть, как только единственной оставшейся ссылкой
на объект будет ключ экземпляра WeakMap, сборщик мусора
соберёт и удалит объект из экземпляра WeakMap.
Основная задача класса — создавать кеши данных, которые получили из объекта,
которым не нужно жить дольше, чем объект.
Класс WeakMap реализует интерфейсы ArrayAccess,
Traversable (через интерфейс IteratorAggregate)
и Countable,
поэтому с объектом класса часто работают так же, как с ассоциативным массивом.
&reftitle.classsynopsis;
final
WeakMap
implements
ArrayAccess
Countable
IteratorAggregate
&Methods;
&reftitle.examples;
Пример использования класса Weakmap
]]>
&example.outputs;
&language.predefined.weakmap.count;
&language.predefined.weakmap.getiterator;
&language.predefined.weakmap.offsetexists;
&language.predefined.weakmap.offsetget;
&language.predefined.weakmap.offsetset;
&language.predefined.weakmap.offsetunset;