(PHP 7 >= 7.4.0, PHP 8)
Las referencias débiles permiten al programador mantener una referencia a un objeto sin impedir su destrucción.
Son útiles para implementar estructuras como cachés.
Si el objeto original ha sido destruido, null
será devuelto
al llamar al método WeakReference::get().
El objeto original será destruido cuando el
contador de referencias llegue a cero;
la creación de referencias débiles no incrementa el contador de referencias
del objeto referenciado.
Las WeakReferences no pueden ser serializadas.
Ejemplo #1 Uso Simple de WeakReference
<?php
$obj = new stdClass();
$weakref = WeakReference::create($obj);
var_dump($weakref->get());
unset($obj);
var_dump($weakref->get());
?>
El resultado del ejemplo sería algo similar a:
object(stdClass)#1 (0) { } NULL
Versión | Descripción |
---|---|
8.4.0 |
La salida de WeakReference::__debugInfo() incluye ahora el objeto referenciado, o NULL si la referencia ya no es válida.
|