La classe WeakRef

(PECL weakref >= 0.1.0)

Introduction

La classe WeakRef fournit une passerelle vers les objets sans prévenir le gestionnaire de collection de la libération de ces derniers. Elle fournit également une façon de passer d'une référence faible à une référence forte.

Synopsis de la classe

WeakRef {
/* Méthodes */
public Weakref::__construct ([ object $object ] )
public bool Weakref::acquire ( void )
public object Weakref::get ( void )
public bool Weakref::release ( void )
public bool Weakref::valid ( void )
}

Exemples

Exemple #1 Exemple d'utilisation de WeakRef

<?php
class MyClass {
	public function __destruct() {
		echo "Destruction de l'objet !\n";
	}
}

$o1 = new MyClass;

$r1 = new WeakRef($o1);

if ($r1->valid()) {
	echo "L'objet existe toujours !\n";
	var_dump($r1->get());
} else {
	echo "L'objet est mort !\n";
}

unset($o1);

if ($r1->valid()) {
	echo "L'objet existe toujours !\n";
	var_dump($r1->get());
} else {
	echo "L'objet est mort !\n";
}
?>

L'exemple ci-dessus va afficher :

L'objet existe toujours !
object(MyClass)#1 (0) {
}
Destruction de l'objet !
L'objet est mort !

Sommaire

LoadingChargement en cours