Lerm-IT

Blog traitant de technologies informatiques. Logiciel libre, AdminSys, DevOps et GNU/Linux !

10 Sep 2008

[PHP] Le design pattern : Singleton

Le design pattern du singleton permet d’avoir une seule et unique instance d’une classe dans un programme.

Le principe est simple : Nous créons une classe maClasse et nous spécifions son constructeur comme élément privé. Ainsi les utilisateurs de la classe ne pourrons pas l’instancier librement. Nous créons aussi une fonction getInstance(), publique cette fois, qui, elle, se chargera de retourner l’instance de la classe.

<?php

class maClasse {

  
    private static $instance;

    private function __contruct()  
    {  
        // Instanciation  
    }

    public static function getInstance {  
        if( !isset(self::instance))  
        {  
            self::$instance = new maClasse();  
        }  
    return self::$instance;  
    }
}

Notre variable $instance doit être de type static pour ne pas être supprimée à chaque fois 😉
Notre fonction getInstance est donc très simple :
Nous vérifions que l’instance à été déclaré sinon nous la créons et enfin la retournons !