(PECL weakref >= 0.1.0)
Weakref::release — Libère une référence précédemment acquise
Libère une référence précédemment acquise. Cela revient à modifier une référence forte en une référence faible.
L'instance Weakref maintient un compteur interne pour surveiller les références fortes. Si l'appel à Weakref::release() est un succès, ce compteur sera décrémenté de un. Une fois que ce compteur atteint zéro, la référence forte sera modifiée en référence faible.
Cette fonction ne contient aucun paramètre.
Retourne TRUE
si la référence a été précédemment acquise et ainsi, a pu être
libérée, FALSE
sinon.
Exemple #1 Exemple avec Weakref::release()
<?php
class MyClass {
public function __destruct() {
echo "Destruction de l'objet !\n";
}
}
$o1 = new MyClass;
$r1 = new Weakref($o1);
$r1->acquire();
echo "Libération de o1...\n";
unset($o1);
$o2 = $r1->get();
$r1->release();
echo "Libération de o2...\n";
unset($o2);
?>
L'exemple ci-dessus va afficher :
Libération de o1... Libération de o2... Destruction de l'objet !