# La classe WeakReference

(PHP 7 >= 7.4.0, PHP 8)

## Introduction

Les références faibles permettent au programmeur de conserver une référence à un objet sans en empêcher sa destruction. Ils sont utiles pour implémenter des structures tel que des caches. Si l'objet d'origine a été détruit, `null` sera retourné lors de l'appel de la méthode WeakReference::get(). L'objet d'origine sera détruit lorsque le compteur de références atteint zéro ; la création de références faibles n'augmente pas le `compteur de références` de l'objet référencé.

Les WeakReferences ne peuvent pas être sérialisées.

## Synopsis de la classe

final class WeakReference {
/* Méthodes */
public __construct()
public static create(object `$object`): WeakReference
public get(): ?object
}

## Exemple avec WeakReference

Exemple #1 Utilisation Simple de WeakReference

`<?php
$obj = new stdClass();
$weakref = WeakReference::create($obj);
var_dump($weakref->get());
unset($obj);
var_dump($weakref->get());
?>`

Résultat de l'exemple ci-dessus est similaire à :

    object(stdClass)#1 (0) {
    }
    NULL

## Historique

Version | Description
--- | ---
8.4.0 | La sortie de WeakReference::__debugInfo() inclut désormais l'objet référencé, ou `NULL` si la référence n'est plus valide.

## Sommaire

- WeakReference::__construct — Constructeur qui interdit l'initialisation
- WeakReference::create — Créer une nouvelle référence faible
- WeakReference::get — Récupère un objet faiblement référencé