La classe WeakMap
WeakMap
&reftitle.intro;
Un WeakMap est un tableau associatif (ou dictionnaire) qui accepte des objets comme clés. Cependant, contrairement
au autrement similaire SplObjectStorage, un objet dans une clé de WeakMap
ne contribue pas au nombre de références de l'objet. En d'autres termes, si, à un moment donné, la seule référence restante
à un objet est la clé d'un WeakMap, l'objet sera ramassé et supprimé du WeakMap.
Son principal cas d'utilisation est la construction de caches de données dérivées d'un objet qui n'ont pas besoin d'être conservées
plus longtemps que l'objet.
WeakMap implemente ArrayAccess,
Traversable (via IteratorAggregate),
et Countable, de sorte que, dans la plupart des cas, il peut être utilisé de la même manière qu'un tableau associatif.
&reftitle.classsynopsis;
final
WeakMap
implements
ArrayAccess
Countable
IteratorAggregate
&Methods;
&reftitle.examples;
Exemple d'utilisation d'un 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;