Weakref::release

(PECL weakref >= 0.1.0)

Weakref::releaseLibera una referencia previmente adquirida

Descripción

public Weakref::release ( void ) : bool

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.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve TRUE si la referencia fue previamente adquirida y pudo ser liberada, de lo contrario FALSE.

Ejemplos

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!

Ver también