Hauptsache eine Schlagzeile produziert…

BILD und die B.Z. beweisen mal wieder wie „guter“ Boulevard-Journalismus funktioniert. Sich wenig bis gar nicht mit einem Thema beschäftigen, eine reißerische Überschrift dazu gemischt, geschichtlich oder gesellschaftlich kritische Themen verwendet und schon hat man wieder einen Artikel erzeugt. Schade wie ich finde. Auch Golem hat sich diesem Thema angenommen. Hier ein weniger populistischer Artikel zu diesem Thema.

Das Singleton Pattern

Da ich mich seit Langem mit Entwurfsmustern (Design-Patterns) beschäftige, habe ich mich entschlossen Codebeispiele hier zu veröffentlichen und diese zum besseren Verständnis zu beschreiben.

Hier die Implementierung des Singleton Patterns in PHP.

 final class Singleton {

   // Statische Variable welche die Instanz hält
   private static $instance = NULL;

   // Konstruktor private, damit die Klasse nur aus sich selbst heraus instanziiert werden kann
   private function __construct() {}

   // Anlegen und zurückgeben der Instanz
   public static function getInstance() {

       if (self::$instance === NULL) {
           self::$instance = new self;
       }
       return self::$instance;
   }

   // Verhindert das Clonen von außen
   private function __clone() {}
 }

 $singleton = Singleton::getInstance();

Häufig wird dieses Singleton eingesetzt um eine Datenbank Verbindung über einen zentralen Zugriffspunkt zu steuern. Hier auch der Beispielcode, wie ich eine solche Implementierung realisiert habe:

require_once 'Zend/Db.php';
require_once 'Zend/Db/Adapter/Pdo/Mysql.php';
require_once 'Zend/Registry.php';

class Wsmm_Core_Data
{
    /**
     * @var        array
     */
    private static $_adapters;

    /**
     * Singleton. Connects to the database.
     *
     * @return     Zend_Db_Adapter_Pdo_Mysql
     */
    public static function getAdapter($db = 'default')
    {
        if (isset(self::$_adapters[$db]) == false) {
            try {
                //lesen der Konfiguration aus den Settings und erzeugen des Adapters
                self::$_adapters[$db] = new Zend_Db_Adapter_Pdo_Mysql(Zend_Registry::get('config')->db->$db);
                self::$_adapters[$db]->setFetchMode(Zend_Db::FETCH_OBJ);
                self::$_adapters[$db]->getConnection()->exec("SET NAMES 'utf8'");
            } catch (Exception $e) {
                //error handling
            }
        }

        return self::$_adapters[$db];
    }
}

Noch am Leben :-)

Nachdem ich mir schon die ein oder andere Frage nach der Aktualität meines BLOGs gefallen lassen musste, schreibe ich mal wieder ein paar Zeilen, und gelobe Besserung.

Eine spannende Zeit liegt hinter mir – diesmal weniger privat als vielmehr beruflich. Privat gibt es momentan nur zu vermelden, dass der lange nötige Urlaub sehr schön, aber leider wie immer viel zu kurz war.

Die berufliche Situation hat trotzdem viel meiner privaten Freizeit verschlungen, weil ich als Aktionär meines Arbeitgebers privat sehr viel Zeit auf die Vorbereitung der Hauptversammlung verwendet habe. Das Thema geisterte auch mehrfach durch die Medien (Stuttgarter Zeitung) sowie durch die Mitgliederzeitung der SDK. Die HV war eine einzige Farce. Angefangen von der Leitung der Veranstaltung über das Ergebnis, bis hin über einige Gäste und alte Bekannte (ich würde gerne die Namen dieser zweifelhaften Personen schreiben, aber das überlasse ich dem Richter). Momentan möchte ich das Thema erst einmal sacken lassen, werde mich aber zu gegebener Zeit nochmals damit auseinander setzen – momentan ist die Sache für mich erst mal über den Berg… Gespannt bin ich bereits auf das Protokoll der Veranstaltung, welches hoffentlich bald vorliegt. Meine ganze Konzentration gilt der Gestaltung und dem Nachholen meiner Freizeit :-) sowie den beruflichen Zielen, die ich mir für dieses Jahr noch gesteckt habe.

Meine Wünsche für den Rest dieses Jahres: Gesundheit, ein gerechtes Urteil gegen ein paar alte Bekannte, ein gutes Jahresergebnis.