PHP 8.4.2 Released!

A classe WeakReference

(PHP 7 >= 7.4.0, PHP 8)

Introdução

Referências fracas permitem que o programador mantenha uma referência a um objeto que não impede que o objeto seja destruído. Eles são úteis para implementar estruturas como cache. Se o objeto original tiver sido destruído, null será retornado ao chamar o método WeakReference::get(). O objeto original será destruído quando o refcount dele cair para zero; criar referências fracas não aumenta o refcount do objeto que está sendo referenciado.

WeakReferences não podem ser serializadas.

Resumo da classe

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

Exemplos de referência fraca

Exemplo #1 Uso básico de referência fraca

<?php

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

var_dump($weakref->get());

unset(
$obj);

var_dump($weakref->get());

?>

O exemplo acima produzirá algo semelhante a:

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

Registro de Alterações

Versão Descrição
8.4.0 O resultado de WeakReference::__debugInfo() agora inclui o objeto referenciado ou NULL se a referência não for mais válida.

Índice

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top