La clase WeakRef
(PECL weakref >= 0.1.0)
Introducción
La clase WeakRef proporciona una vía para objetos sin evitar que el recolector de basura libere tales objetos. También proporciona una manera de convertir una referencia débil en una fuerte.
Sinopsis de la Clase
WeakRef
{
/* Métodos */
}Ejemplos
Ejemplo #1 Ejemplo de uso de WeakRef
<?php
class MiClase {
public function __destruct() {
echo "¡Destruyendo el objeto!\n";
}
}
$o1 = new MiClase;
$r1 = new Weakref($o1);
if ($r1->valid()) {
echo "¡El objeto aún existe!\n";
var_dump($r1->get());
} else {
echo "¡El objeto está muerto!\n";
}
unset($o1);
if ($r1->valid()) {
echo "¡El objeto aún existe!\n";
var_dump($r1->get());
} else {
echo "¡El objeto está muerto!\n";
}
?>
El resultado del ejemplo sería:
¡El objeto aún existe!
object(MiClase)#1 (0) {
}
¡Destruyendo el objeto!
¡El objeto está muerto!
Tabla de contenidos
- Weakref::acquire — Adquiere una referencia fuerte de un objeto
- Weakref::__construct — Construye una nueva referencia débil
- Weakref::get — Devuelve el objeto apuntado por una referencia débil
- Weakref::release — Libera una referencia previmente adquirida
- Weakref::valid — Comprueba si el objeto referenciado aún existe