# 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 */
public Weakref::__construct ( object `$object` )
public Weakref::acquire ( void ) : bool
public Weakref::get ( void ) : object
public Weakref::release ( void ) : bool
public Weakref::valid ( void ) : bool
}

## 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