La classe WeakRef
(PECL weakref >= 0.1.0)
Introduction
La classe WeakRef fournit une passerelle vers les objets sans prévenir le gestionnaire de collection de la libération de ces derniers. Elle fournit également une façon de passer d'une référence faible à une référence forte.
Synopsis de la classe
WeakRef
{
/* Méthodes */
}Exemples
Exemple #1 Exemple d'utilisation de WeakRef
<?php class MyClass { public function __destruct() { echo "Destruction de l'objet !\n"; } } $o1 = new MyClass; $r1 = new WeakRef($o1); if ($r1->valid()) { echo "L'objet existe toujours !\n"; var_dump($r1->get()); } else { echo "L'objet est mort !\n"; } unset($o1); if ($r1->valid()) { echo "L'objet existe toujours !\n"; var_dump($r1->get()); } else { echo "L'objet est mort !\n"; } ?>
L'exemple ci-dessus va afficher :
L'objet existe toujours ! object(MyClass)#1 (0) { } Destruction de l'objet ! L'objet est mort !
Sommaire
- Weakref::acquire — Acquière une forte référence sur un objet
- Weakref::__construct — Construit une nouvelle référence forte
- Weakref::get — Retourne l'objet pointé par sa référence forte
- Weakref::release — Libère une référence précédemment acquise
- Weakref::valid — Vérifie si l'objet référencé existe toujours