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. Elles sont utiles pour implĂ©menter des structures telles 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 function __construct()
public static function create(object $object): WeakReference
public function 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

add a note

User Contributed Notes

There are no user contributed notes for this page.