Usine
<<<
Singleton Les classes et les objets (PHP 5)
>>>

5.10.13 Masques
5.10 Les classes et les objets (PHP 5)
5 Référence du langage
 Manuel PHP

Usine
->Singleton

5.10.13.2 Singleton

Le masque singleton est appliqué aux situations qui nécessitent d'être une seule instance d'une classe. L'exemple le plus commun de cela est une connexion à une base de données. L'implémentation de ce masque permet au développeur de rendre cette seule instance facielement accessible par beaucoup d'autres objets.

Fonction Singleton

<?php
class Example
{
    
// instance de la classe
    
private static $instance;
    
    
// Un constructeur privé ; prévient la création directe d'un objet
    
private function __construct()
    {
        echo
'Je suis construit';
    }

    
// La méthode singleton
    
public static function singleton()
    {
        if (!isset(
self::$instance)) {
            
$c = __CLASS__;
            
self::$instance = new $c;
        }

        return
self::$instance;
    }
    
    
// Exemple d'une méthode
    
public function bark()
    {
        echo
'Woof!';
    }
        
    
// Prévient les utilisateurs sur le clônage de l'instance
    
public function __clone()
    {
        
trigger_error('Le clônage n\'est pas autorisé.', E_USER_ERROR);
    }
}

?>

<< Singleton >>
Usine Masques Les classes et les objets (PHP 5)