PHP 8.4.1 Released!

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

目次

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top