Слабые ссылки позволяют программисту сохранить ссылку на объект, которая не предотвращает уничтожение объекта. Они полезны для реализации кэш-подобных структур.

WeakReference нельзя сериализовать.

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

Пример #1 Базовое использование WeakReference

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

Методы:

  • WeakReference::__construct — Конструктор, запрещающий создание экземпляров
  • WeakReference::create — Создает новую слабую ссылку
  • WeakReference::get — Получить объект со слабой ссылкой