Weitere Artikel aus dem Webentwickler Blog

Das Singleton-Entwurfsmuster ist ein in der Softwareentwicklung eingesetztes Muster und gehört zur Gruppe der Erzeugungsmuster. Es stellt sicher, dass zu einer Klasse lediglich genau ein Objekt erzeugt werden kann, und ermöglicht einen globalen Zugriff auf dieses Objekt. In der Praxis wird diese Technik verwendet, um ressourcenschonend zu programmie­ren. Verbindungen zu Ressourcen, die lediglich einmalig vorhanden sind, wie beispiels­weise Dateien, werden über Singleton-Klassen verwaltet.

Weitere Anwendungsbeispiele für Singleton-Muster sind:

  • Ein zentrales Protokollobjekt, das Ausgaben in eine Datei schreibt.
  • Datenbankzugriffe, die mit einer Datenbank verbunden werden sollen und lediglich auf ein Verbindungsobjekt zurückgreifen.

Die folgende Singleton-Klasse soll Ihnen den Einstieg in die Welt der Entwurfsmuster erleichtern. Beispiel für ein Singleton-Entwurfsmuster in PHP:

Beispiel für eine Singleton-Anwendung in PHP:

Ausgabe:

Keine Meldung im Objekt
Sie sind herzlich Willkommen!
Auf Wiedersehen!

Das Beispiel nutzt in jeder Klasse, die ein Singleton verwendet, immer wieder dasselbe Objekt, da eine erneute Erzeugung im Rahmen eines einfachen Methodenaufrufs völlig sinnlos wäre – man hätte am Ende lediglich eine Anzahl verwaister Objekte im Speicher.

Darüber hinaus wird durch die private-Deklaration für den Konstruktor (__construct) und die __clone()-Methode verhindert, dass doch noch mehr Objekte erzeugt werden.

Singleton-Konventionen:

Um ein Singleton in PHP zu implementieren, sind folgende Schritte durchzuführen: 1.  Deklarieren Sie eine statische Klasseneigenschaft, die das Exemplar der Klasse spei­chert. 2.  Implementieren Sie eine statische Methode, die das gespeicherte Exemplar zurück­gibt und gegebenenfalls dieses Exemplar erstellt, falls es noch nicht vorhanden ist. 3.  Stellen Sie sicher, dass keine weiteren Instanzen durch Verwendung des new-Operators möglich sind, indem Sie den Konstruktor als private oder protected deklarieren. 4.  Stellen Sie sicher, dass das Exemplar der Klasse nicht geklont werden kann, indem Sie die __clone()-Methode als private deklarieren. Wenn Sie diese Schritte befolgen, steht dem Einsatz von Singleton-Entwurfsmustern nichts im Wege. Dieser Abschnitt wurde dem Buch “PHP 5 – Objektorientierte Programmierung” von Matthias Kannengiesser entnommen, das im Franzis Verlag erschienen ist. Sie können es hier direkt bestellen.


Kundenkommentare
Social Bookmarks
elo-web bookmarken bei: Mr. Wong elo-web bookmarken bei: Webnews elo-web bookmarken bei: Icio elo-web bookmarken bei: Oneview elo-web bookmarken bei: Yigg elo-web bookmarken bei: Linkarena elo-web bookmarken bei: Digg elo-web bookmarken bei: Reddit elo-web bookmarken bei: Simpy elo-web bookmarken bei: StumbleUpon elo-web bookmarken bei: Netscape elo-web bookmarken bei: Furl elo-web bookmarken bei: Yahoo elo-web bookmarken bei: Blogmarks elo-web bookmarken bei: Diigo elo-web bookmarken bei: Technorati elo-web bookmarken bei: Newsvine elo-web bookmarken bei: Blinkbits elo-web bookmarken bei: Ma.Gnolia elo-web bookmarken bei: Smarking elo-web bookmarken bei: Netvouz elo-web bookmarken bei: Folkd elo-web bookmarken bei: Spurl elo-web bookmarken bei: Google elo-web bookmarken bei: Blinklist
URL zu dieser Seite
Einfach den Quelltext kopieren und auf Ihrer Webseite einbinden

Kontakt
Newsletter | Kontakt | RSS Feed
Warenkorb: 0 Artikel
Gesamtwert: EUR 0,00
Home PHP/MySQL & JavaScript  Singleton-Muster in PHP