k wie klaus -)
							
						
					von Singleton ableiten?
				
					Einklappen
				
			
		
	X
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 $instance als protected deklarieren und getInstantce() überladen - das sollte funktionieren.
 PHP-Code:class Singleton {
 protected static $instance;
 public static function getInstance() {}
 }
 
 class ExtendedSingleton extends Singleton {
 public static function getInstance() {
 if (null === self::$instance) {
 self::$instance = new self();
 }
 return self::$instance;
 }
 }
 
 $obj = ExtendedSingleton::getInstance();
 
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Und was hälst du davon, das Ganze abstrakt zu gestalten?Original geschrieben von onemorenerd
 $instance als protected deklarieren und getInstantce() überladen - das sollte funktionieren.
 PHP-Code:class Singleton {
 protected static $instance;
 public static function getInstance() {}
 }
 
 class ExtendedSingleton extends Singleton {
 public static function getInstance() {
 if (null === self::$instance) {
 self::$instance = new self();
 }
 return self::$instance;
 }
 }
 
 $obj = ExtendedSingleton::getInstance();
 
 PHP-Code:abstract class Singleton
 {
 private $_instances = array();
 
 // simple Implementierung
 public static function get_instance($class_name)
 {
 if (!isset(self::$_instances[$class_name]))
 {
 $object = new $class_name();
 
 if ($object instanceof Singleton)
 {
 self::$_instances[$class_name] = $object;
 }
 }
 
 return self::$_instances[$class_name];
 }
 }
 
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 25 Singletons ist (sorry) irre!
 
 In einem solchen Fall schreit es nach dem "Registry Design Pattern". (Dieses eine darf dann Singleton sein ) )
 Und nein, Singeletons sind kein feines Pattern, sie vereinfachen einiges, machen aber die Vererbung kaputt. Zumindest so kaputt, das man sich mehr mit diesem überflüssigen Problem beschäftigen muß als nötig.
  aber das gilt wohl für die meisten selbst gelegten Eier aber das gilt wohl für die meisten selbst gelegten Eier Zuletzt geändert von combie; 03.01.2008, 22:41. Zuletzt geändert von combie; 03.01.2008, 22:41.
 Kommentar
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 So oder so Murkserei...
 Die Singleton-Funktionalität sollte nicht durch Ableitung in die Klasse gebracht werden müssen~ aber was anderes bleibt einem bei PHP ja nicht übrig...
 
 Theoretisch sollte es eher ein Mixin sein, so wie es bei Ruby auch gemacht wird:
 http://home.vrweb.de/~juergen.katins...html#sec:mixin
 http://www.ruby-doc.org/stdlib/libdo...doc/index.html
 
 Dementsprechend ist das glaub ich ziemlich egal, wie ihr euch die Theorie kaputt macht, Hauptsache es funktioniert einwandfrei und einfach...  
 Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!
 bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
 Wie man Fragen richtig stellt
 Kommentar
 
          
 Moderator
 Moderator
 
							
						
Kommentar