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.