PHP : Dans quelles circonstances la méthode destructrice __destruct est-elle exécutée ?

黄舟
Libérer: 2023-03-12 11:02:02
original
4006 Les gens l'ont consulté

php Méthode Destructor Dans quelles circonstances la destruct est-elle exécutée ? Dans tous les cas, est-elle rencontrée ?>le caractère de fin php est également exécuté

Destructor Sera exécuté lorsque toutes les références à un certain objet sont supprimées ou lorsque l'objet est explicitement détruit

sera exécuté avant que l'objet ne soit détruit Bar ?

Selon le manuel officiel, le destructeur sera exécuté lorsque toutes les références à un objet seront supprimées ou lorsque l'objet sera explicitement détruit. La démonstration du code est la suivante

class sf{    public function destruct()
    {        echo METHOD . PHP_EOL;
    }
}


$c1 = new sf;
$c2 = $c1;echo 'unset $c2' . PHP_EOL;unset($c2);echo 'unset $c1' . PHP_EOL;unset($c1);// ----$c1 = new sf;
$c2 = $c1;echo 'null $c2' . PHP_EOL;
$c2 = null;echo 'null $c1' . PHP_EOL;
$c1 = null;// ----$c1 = new sf;
$c2 = $c1;echo '123 $c2' . PHP_EOL;
$c2 = 123;echo '456 $c1' . PHP_EOL;
$c1 = 456;echo 'the end' . PHP_EOL;
Copier après la connexion

Les résultats d'exécution sont les suivants

unset $c2unset $c1
sf::destructnull $c2null $c1
sf::destruct123 $c2456 $c1
sf::destruct
the end
Copier après la connexion

Le destructeur sera exécuté lorsque toutes les références à un objet sont supprimées ou lorsque l'objet est explicitement détruit .

De manière générale, php détruira la référence à la fin du script (non définie) et s'exécutera avant la fin du script.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal