(PHP 7 >= 7.4.0, PHP 8)
Schwache Referenzen erlauben es dem Programmierer, eine Referenz auf ein
Objekt zu behalten, die nicht verhindert, dass das Objekt zerstört wird.
Sie sind nützlich für die Implementierung von Cache-ähnlichen Strukturen.
Wenn das ursprüngliche Objekt zerstört wurde, wird beim Aufruf der Methode
WeakReference::get() null
zurückgegeben. Wenn der
Referenzzähler für
das ursprüngliche Objekt auf Null fällt, wird es zerstört; das
Erstellen von schwachen Referenzen erhöht den refcount
des referenzierten Objekts nicht.
WeakReferences können nicht serialisiert werden.
Beispiel #1 Grundlegende Verwendung von WeakReference
<?php
$obj = new stdClass();
$weakref = WeakReference::create($obj);
var_dump($weakref->get());
unset($obj);
var_dump($weakref->get());
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
object(stdClass)#1 (0) { } NULL
Version | Beschreibung |
---|---|
8.4.0 |
Die Ausgabe von WeakReference::__debugInfo()
enthält nun das referenzierte Objekt oder NULL , wenn
die Referenz nicht mehr gültig ist.
|