The WeakReference class

Introduction

Weak references allow the programmer to retain a reference to an object which does not prevent the object from being destroyed. They are useful for implementing cache like structures. If the original object has been destroyed, null will be returned when calling the WeakReference::get method. The original object will be destroyed when the refcount for it drops to zero; creating weak references does not increase the refcount of the object being referenced.

WeakReferences cannot be serialized.

Class synopsis

final WeakReference
/* Methods */
public __construct()
public static WeakReference create(object $object)
public objectnull get()

WeakReference Examples

Example #1 Basic WeakReference Usage

<?php

$obj = new stdClass();
$weakref = WeakReference::create($obj);

var_dump($weakref->get());

unset($obj);

var_dump($weakref->get());

?>

The above example will output something similar to:

object(stdClass)#1 (0) {
}
NULL

Table of Contents