Tema: Patrones
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/08/2007, 14:25
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 20 años, 4 meses
Puntos: 2135
Re: Patrones

La clase esta ahi publicada:
Código PHP:
class DB extends PDO {
    private static 
$_instance = null;

    private function 
__construct() {
        
// Obtenemos el Config desde un array, clase config etc:
        
$config = Config::getInstance();
        
$db = $config->DBName;
        
$user = $config->UserName;
        
$pwd = $config->Password;
        
        
$attrs = array();
        
$dsn = 'mysql:host=localhost;dbname=' . $db;
        
        
parent::__construct( $dsn, $user, $pwd, $attrs );
        
$this->setAtribute( PDO::ATTR_ERRMODE, PDO::ERR_MODE_EXCEPTION );
    }

    public static function 
getInstance() {
        if( 
self::$_instance == null ) {
            
self::$_instance = new self();
        }
        
        return 
self::$_instance;
    }
} 
Por la naturaleza de PHP el patron Singleton se limita al request actual ya que al terminar la pagina el objeto es destruido y en tu siguiente llamado es creado nuevamente.

Aunque te ayuda el solo tener 1 objeto en todas tus operaciones ya que asi garantizas que estas hablando solo del mismo objeto.

Saludos.