PHP 8.4.2 Released!

The WeakReference class

(PHP 7 >= 7.4.0, PHP 8)

Вступ

Weak references allow the programmer to retain a reference to an object which does not prevent 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 __construct()
public static create(object $object): WeakReference
public 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.
To Top