Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/07/2011, 09:56
Avatar de masterpuppet
masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Singleton: implementacion

Hay algunos puntos a tener en cuenta a la hora de hacer un singleton en PHP,

Obligatorio
  1. El constructor debe ser privado
  2. La clase debe sobrescribir __clone

Opcional
  1. Por lo general el metodo que para obtener el objeto se denomina getInstance

Código PHP:
Ver original
  1. class Singleton
  2. {
  3.  
  4.     private static $_instance;
  5.  
  6.     private function __construct()
  7.     {}
  8.  
  9.     public static function getInstance()
  10.     {
  11.         if (!self::$_instance) {
  12.             self::$_instance = new self;
  13.         }
  14.         return self::$_instance;
  15.     }
  16.  
  17.     private function __clone()
  18.     {}
  19. }

Ten en cuenta que es considerado por muchos(me incluyo) un anti-pattern y utilizarlo para la conexión a la bbdd es una pesima idea(esto te lo comento porque la clase de ejemplo es Database).

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)