(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.
Example #1 Basic WeakReference Usage
<?php
$obj = new stdClass();
$weakref = WeakReference::create($obj);
var_dump($weakref->get());
unset($obj);
var_dump($weakref->get());
?>Il precedente esempio visualizzerà qualcosa simile a:
object(stdClass)#1 (0) {
}
NULL
| Versione | Descrizione |
|---|---|
| 8.4.0 |
The output of WeakReference::__debugInfo() now includes
the referenced object, or null if the reference is no longer
valid.
|