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
- WeakReference::__construct — Constructor that disallows instantiation
- WeakReference::create — Create a new weak reference
- WeakReference::get — Get a weakly referenced Object
Found A Problem?
There are no user contributed notes for this page.