PHP Conference Nagoya 2025

Die Klasse WeakReference

(PHP 7 >= 7.4.0, PHP 8)

Einführung

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.

Klassenbeschreibung

final class WeakReference {
/* Methoden */
public __construct()
public static create(object $object): WeakReference
public get(): ?object
}

WeakReference-Beispiele

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

Inhaltsverzeichnis

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top