Warning: strpos() [function.strpos]: needle is not a string or an integer in /home/opa2os.de/hosts/stockfish.de/wp-content/plugins/text-link-ads/textlinkads.php on line 176

Warning: Cannot modify header information - headers already sent by (output started at /home/opa2os.de/hosts/stockfish.de/wp-content/plugins/text-link-ads/textlinkads.php:176) in /home/opa2os.de/hosts/stockfish.de/wp-includes/feed-rss2.php on line 8
stockfish » singleton http://www.stockfish.de der blog mit dem fish... Mon, 22 Feb 2010 11:23:19 +0000 http://wordpress.org/?v=2.9.2 en hourly 1 Dirty Singleton Pattern http://www.stockfish.de/dirty-singleton-pattern-php/ http://www.stockfish.de/dirty-singleton-pattern-php/#comments Sun, 15 Feb 2009 19:45:15 +0000 admin http://blog.stockfish.de/?p=13 Für die Programmierung meines MVC-Framework habe ich mich mal mit dem Thema Entwurfsmuster beschäftigt.
Für den Aufbau einer MySQL Datenbank Klasse habe ich mich nun dazu entschieden ein Singleton-Pattern einzusetzen. Jedoch ein solches welches mir dennoch erlaubt für jede Datenbank ein einzelnes Objekt zu erstellen. Ist zwar etwas dirty aber es erfüllt seinen Zweck ;-)

class senf_database_mysql{
	/**
	 * Returns instances
	 *
	 * @access public
	 * @return object
	 */
	public static function returnIns($database){
		if (!isset(self::$ins[$database])){
			self::$ins[$database] = new senf_database_mysql($database);
		}
		return self::$ins[$database];
	}
}

Mit dem Aufruf der statischen Funktion senf_database_mysql::returnIns(‘datenbank’) wird überprüft ob im array $ins[] bereit ein objekt zur entsprechenden Datenbank besteht. Ist das nicht der Fall so wird ein neues Objekt erstellt und in $ins[] abgelegt. Bei jedem weiteren Zugriff auf eine Datenbank, zu welcher bereits ein Objekt besteht, wir die bereits bestehende Instanz zurückgeliefert.

17fav 收藏本文

]]>
http://www.stockfish.de/dirty-singleton-pattern-php/feed/ 1