PHP 8.3.21 Released!

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 __construct()
public static create(object $object): WeakReference
public 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());

?>

El resultado del ejemplo sería algo 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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top