The WeakReference class

(PHP 7 >= 7.4.0, PHP 8)

Вступ

Weak references allow the programmer to retain a reference to an object without preventing the object from being destroyed. They are useful for implementing cache-like structures. If the original object has been destroyed, null will be returned when calling the WeakReference::get() method. The original object will be destroyed when the refcount for it drops to zero; creating weak references does not increase the refcount of the object being referenced.

WeakReferences cannot be serialized.

Короткий огляд класу

final class WeakReference {
/* Методи */
public function __construct()
public static function create(object $object): WeakReference
public function get(): ?object
}

WeakReference Examples

Приклад #1 Basic WeakReference Usage

<?php

$obj = new stdClass();
$weakref = WeakReference::create($obj);

var_dump($weakref->get());

unset($obj);

var_dump($weakref->get());

?>

Поданий вище приклад виведе щось схоже на:

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

Журнал змін

Версія Опис
8.4.0 The output of WeakReference::__debugInfo() now includes the referenced object, or null if the reference is no longer valid.

Зміст

add a note

User Contributed Notes

There are no user contributed notes for this page.