Hier mal ein kleines Beispiel mit einer einfachen Singleton-Klasse, wobei der Konstruktor auf private gesetzt ist:

PHP-Code:
<?php 
class Singleton{
    
    
// statische private klasseninstanz
    
static private $_instance null;
    
    
    
// konstruktor auf private, da es eine Singleton-klasse ist und nicht instanzieirt werden darf
    
private function __construct(){
        
// tu irgendwas
    
}
    
    
    
// einzige Zugriffsfunktion von aussen
    
public static function getInstance(){
        
        
// wenn keine Instanz besteht, erstelle eine neue
        
if (self::$_instance === null){
            
self::$_instance = new self();        
        }
        
        
// zurückgegeben wird immer nur die eine Instanz
        
return self::$_instance;
        
    }
    
    
    
// braucht man nicht viel zu sagen *g*
    
public function getHelloWorld(){
        return 
"Hello World";
    }
    
    
    
}

echo 
Singleton::getInstance()->getHelloWorld();  // Ausgabe: Hello World

// neue Instanz erzeugen geht nicht
$test = new Singleton(); // Fatal Error:  Call to private Singleton::__construct() from invalid context