[php5] unset et variable static

unset et variable static [php5] - PHP - Programmation

Marsh Posté le 26-11-2004 à 01:06:43    

j'ai commencé à me faire une classe bdd avec un singleton. J'ai mis le mysql_close dans le destructeur de ma classe. Celui-ci est bien appelé automatiquement par php à la fin du script, mais j'aimerai desalouer ma classe et donc fermer ma connection avant la fin du script. Or il est impossible de faire un unset() sur une variable statique ( unset(Singleton::getInstance()) et appeler le destructeur (Singleton::getInstance()->__destruct()) execute bien le destructeur mais ne desaloue pas l'objet, le destructeur et alors appelé automatiquement à la fin du script.
Or j'aimerai avoir la maitrise de la desalocation de toute mes classes. Y a-t-il une solution pour desalouer un singleton?


Message édité par Zapco le 26-11-2004 à 01:16:52
Reply

Marsh Posté le 26-11-2004 à 01:06:43   

Reply

Marsh Posté le 26-11-2004 à 10:52:30    

unset(Singleton::$instance);
 
bien sur si tu as encore apres ça des variables qui referencent ton objet, il ne sera pas détruit tout de suite ...

Reply

Marsh Posté le 28-11-2004 à 21:47:45    

j'ai touvé la ruse grace à ton indice. il suffit de faire une méthode static du genre
 
static function delete_singleton
{
$temp=self::mon_singleton;
self::mon_singleton=NULL;
unset($temp);
}

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed