(PECL weakref >= 0.1.0)
Weakref::release — Libera una referencia previmente adquirida
Libera una referencia previmente adquirida, potencialmente, volviendo a convertir una referencia fuerte en una débil.
The Weakref instance maintains an internal acquired counter to track outstanding strong references. If the call to Weakref::release() is successful, this counter will be decremented by one. Once this counter reaches zero, the strong reference is turned back into a weak reference. La instancia de Weakref guarda un contador de adquiridas interno para el seguimiento de referencias fuertes pendientes. Si la llamada a Weakref::release() tiene éxito, este contador se decrementará en uno. Una vez este contador llegue a cero, la referencia fuerte se volverá a convertir en una referencia débil.
Esta función no tiene parámetros.
Devuelve TRUE
si la referencia fue previamente adquirida y pudo ser
liberada, de lo contrario FALSE
.
Ejemplo #1 Ejemplo de Weakref::release()
<?php
class MiClase {
public function __destruct() {
echo "¡Destruyendo el objeto!\n";
}
}
$o1 = new MiClase;
$r1 = new Weakref($o1);
$r1->acquire();
echo "Detruyendo o1...\n";
unset($o1);
$o2 = $r1->get();
$r1->release();
echo "Detruyendo o2...\n";
unset($o2);
?>
El resultado del ejemplo sería:
Detruyendo o1... Detruyendo o2... ¡Destruyendo el objeto!