PHP 8.4.2 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

Список изменений

Версия Описание
8.4.0 Вывод метода WeakReference::__debugInfo() теперь включает объект, на который ссылается или NULL, если ссылка больше не действительна.

Содержание

Добавить

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

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