__destruct - Est elle utile dans cette exempe ?

Avatar du membre
Eléphant du PHP | 88 Messages

20 janv. 2016, 22:23

Bonjour, j'ai besoin de conseils SVP.

LA méthod __destruct en pratique, je n'en vois pas trop l'utilité.

Est-ce que par exemple, c'est utile de l'utiliser dans cette exemple :

Code : Tout sélectionner

<?php class Database { protected static $db; // pour return instance de la BDD public function __construct($id=[]) { $this->setConnection($id); // method dans class enfant } /** * @return Connexion à BDD */ public function getDb() { try { self::$db = new PDO($this->dsn, $this->username, $this->password, $this->options); } catch(PDOException $e) { // Erreur ... } return self::$db; } /** * Cette méthod, est elle utile ? */ public function __destruct() { self::$db = NULL; } } // END class
J'ai vu ceci dans une librairie, mais des gros frameworks (comme Laravel 5 par exemple) n'utilise jamais cette méthod __destruct

Merci beaucoup

ViPHP
ViPHP | 928 Messages

26 janv. 2016, 18:26

Salut,

La méthode __destruct() est appelée automatiquement lorsqu'un objet est détruit. A toi de voir si ça peut te servir ... Par exemple si tu créés une classe pour te connecter à Redis, ça peut être utile de se déconnecter de Redis dès que tu détruits l'objet, ça ne sert à rien de garder la connexion ouverte pendant le reste de ton script. Personnellement ça ne m'a encore jamais servi.