Mrz
7
2010
Implementierung des Singleton-Pattern in PHP
Das Singleton-Pattern ist eines der einfachsten Pattern und lässt sich auch in PHP implementieren. Es sorgt dafür, dass von einer Singleton-Klasse jeweils nur eine Instanz erzeugt werden kann. Somit ist das Objekt zentral zugänglich, was allerdings auch als großer Nachteil ausgelegt werden kann.
Eine Beispielimplementierung kann z.B. wie folgt aussehen:
/**
* Implementierung des Singleton Pattern
*
* Der Konstruktor und das Klonen sind private Methoden, können
* somit nicht von außen aufgerufen werden.
*/
class Singleton
{
/*
* @var Singleton
*/
static private $_instance = null;
/**
* Konstruktor
*/
private function __constructor() {}
private function __clone() {}
/**
* Liefert die einzelne Instanz
*/
static public function getInstance()
{
if (is_null(self::$_instance)) {
self::$_instance = new self;
}
return self::$_instance;
}
}
Instanziierung im Programmcode
// Objekt instanziieren $singleton = Singleton::getInstance();