WeakMap クラスはじめにWeakMap は、 オブジェクトをキーとして受け入れるマップ(辞書)です。 SplObjectStorage と似ていますが、 WeakMap のキーとなるオブジェクトは、 オブジェクトのリファレンスカウントが更新されません。 つまり、WeakMap のキーとなっているオブジェクトだけが唯一の残された参照だった場合、 オブジェクトはガベージコレクションの対象となり WeakMap から削除されます。 WeakMap の用途は、 長く生き残る必要がないオブジェクトから派生した、 データのキャッシュを作ることです。 WeakMap は ArrayAccess, Traversable (IteratorAggregate 経由), Countable を実装しています。 よって、ほとんどのケースで、 連想配列と同じやり方で操作できます。 クラス概要
final
WeakMap
implements
ArrayAccess
Countable
IteratorAggregate
/* メソッド */
public int count()
public Iterator getIterator()
public bool offsetExists(object
$object )public mixed offsetGet(object
$object )public void offsetSet(object
$object , mixed $value )public void offsetUnset(object
$object )例
例1 Weakmap の使い方の例
上の例の出力は以下となります。 int(1) Unsetting... Dead! Done int(0)
|