# The WeakReference class

(PHP 7 >= 7.4.0)

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

> Note:

> The class WeakReference is not to be confused with the class WeakRef of the Weakref extension.

WeakReferences cannot be serialized.

## Class synopsis

WeakReference {
/* Methods */
public __construct ( )
public static create ( object `$referent` ) : WeakReference
public get ( ) : object|null
}

## 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

- WeakReference::__construct — Constructor that disallows instantiation
- WeakReference::create — Create a new weak reference
- WeakReference::get — Get a weakly referenced Object