PHP: Hypertext Preprocessor (original) (raw)

The WeakReference class

(PHP 7 >= 7.4.0, PHP 8)

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](reserved.constants.php#constant.null) will be returned when calling the WeakReference::get() method. The original object will be destroyed when therefcount 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 class **WeakReference {

}

WeakReference Examples

Example #1 Basic WeakReference Usage

`<?php

$obj

= new stdClass(); weakref=WeakReference::create(weakref = WeakReference::create(weakref=WeakReference::create(obj);var_dump($weakref->get());

unset( obj);vardump(obj);var_dump(obj);vardump(weakref->get());?>`

The above example will output something similar to:

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

Changelog

Version Description
8.4.0 The output of WeakReference::__debugInfo() now includes the referenced object, or NULL if the reference is no longer valid.

Table of Contents

Found A Problem?

There are no user contributed notes for this page.