(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.
|