PHP 8.1.31 Released!

Класс WeakReference

(PHP 7 >= 7.4.0, PHP 8)

Введение

Слабые ссылки разрешают программисту сохранять ссылку на объект только до тех пор, пока исходный объект не уничтожили. Слабые ссылки приносят пользу, когда требуется создать кешеподобную структуру данных. Метод WeakReference::get() вернёт null, если исходный объект уничтожили. Сборщик мусора уничтожит исходный объект, если счётчик ссылок на исходный объект сбросится до нуля; слабые ссылки не увеличивают счётчик ссылок refcount объекта, на который ссылаются.

Объект класса WeakReference нельзя сериализовать.

Обзор класса

final class WeakReference {
/* Методы */
public __construct()
public static create(object $object): WeakReference
public get(): ?object
}

Примеры поведения класса WeakReference

Пример #1 Пример базового поведения класса WeakReference

<?php

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

var_dump($weakref->get());

unset(
$obj);

var_dump($weakref->get());

?>

Вывод приведённого примера будет похож на:

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

Содержание

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top