Класс 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; Пример использования класса <classname>Weakmap</classname> ]]> &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;