The WeakReference class
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.
Intro
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.
Class synopsis
WeakReference Examples
Basic WeakReference Usage
<?php
$obj = new stdClass();
$weakref = WeakReference::create($obj);
var_dump($weakref->get());
unset($obj);
var_dump($weakref->get());
?>The above example will output something similar to:
object(stdClass)#1 (0) {
}
NULLChangelog
| Version | Description |
|---|---|
| 8.4.0 | The output of WeakReference::__debugInfo now includes the referenced object, or null if the reference is no longer valid. |
Construct Create Get