PHP 8.6.0 Beta 1 is available for testing

La clase WeakReference

(PHP 7 >= 7.4.0, PHP 8)

Introducción

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.

Sinopsis de la clase

final class WeakReference {
/* Métodos */
public function __construct ()
public static function create (object $object): WeakReference
public function get (): ? object
}

Ejemplo con WeakReference

Ejemplo #1 Uso Simple de WeakReference

<?php
$obj = new stdClass();
$weakref = WeakReference::create($obj);
var_dump($weakref->get());
unset($obj);
var_dump($weakref->get());
?>

Resultado del ejemplo anterior es similar a:

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

Historial de cambios

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.

Tabla de contenidos

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes

There are no user contributed notes for this page.

AltStyle によって変換されたページ (->オリジナル) /