(PHP 7 >= 7.4.0, PHP 8)
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.
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
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.
|