2009-09-23 5 views

Répondre

3

Non - Une méthode singleton est une alternative à l'utilisation d'un constructeur.

Au lieu de dire $session = new Session();

vous devriez dire

$session = Session::getStaticSession();

ensuite définir Session::getStaticSession() en fonction tht retourne un var statique interne et appelle "nouvelle session()" si le var statique interne est nul.

+0

ok merci je l'ai un peu mal compris, j'ai eu l'idée de base mais maintenant je l'ai pleinement je pense – JasonDavis

1

Vous ne pouvez pas utiliser une méthode singleton dans un constructeur, comme l'objet a déjà été créé, et vous ne pouvez pas retourner quoi que ce soit. D'un autre côté, votre méthode singleton doit renvoyer l'objet actuel ou en créer un nouveau.

Vous pouvez utiliser une seule méthode pour le faire, cependant, comme les suivantes:

<?php 
class X { 
    // ... 
    function instance() { 
     static $instance; 
     if(!is_a($instance, 'X')) { 
      $instance = new X(); 
     } 
    } 
?> 
Questions connexes