He estado viendo las ventajas de usar PDO y son muchas.... El tema es que he querido hacer una serie de pruebas usando PDO y el patron Singleton y me he encontrado con un problema.
Usando de ejemplo la clase que publico en su blog "GatorV", cuando la quiero usar me salta el siguiente error:
"Fatal error: Access level to DB::__construct() must be public (as in class PDO)"
Para usar esa clase escribo el siguiente codigo
Código PHP:
include('db.class.php');
$bd = DB::getInstance();
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;
}
}
Desde ya muchas gracias