WeakReference クラス

(PHP 7 >= 7.4.0, PHP 8)

はじめに

弱い参照により、オブジェクトが破棄されるのを妨げないオブジェクトへの参照を保持することが可能です。 この機能は、キャッシュのようなデータ構造を実装するのに役立ちます。

WeakReference クラスはシリアライズ化できません。

クラス概要

final class WeakReference {
/* メソッド */
public __construct()
public static create(object $object): WeakReference
public get(): ?object
}

WeakReference の例

例1 基本的な WeakReference クラスの使い方

<?php
$obj 
= new stdClass;
$weakref WeakReference::create($obj);
var_dump($weakref->get());
unset(
$obj);
var_dump($weakref->get());
?>

上の例の出力は、 たとえば以下のようになります。

object(stdClass)#1 (0) {
}
NULL

目次

関連キーワード:  WeakReference, クラス, 参照, construct, オブジェクト, public, create, メソッド, 生成, stdClass