Originalmente, diseñe esta clase para realizar consultas con MYSQL:
MySQL.php
Código PHP:
Ver original
class MySQL { private static $_instance = NULL; private static $_connected = FALSE; private $_link = NULL; private $_result = NULL; // INSTANCIA SINGLETON DE LA CLASE { if (self::$_instance === NULL) { self::$_instance = new self($config); } return self::$_instance; } // Constructor privado { { throw new MySQLAdapterException(); } $this->_config = $config; } private function __clone(){} private function connect() { // conecto solo una vez if (self::$_connected === FALSE) { self::$_connected = TRUE; } } public function query($query) { //realizo una consulta, la guardo en $_result } }
En fin, creo una instancia singleton de la clase, pasando como parámetros los datos de conexión. Elimine metodos para hacer mas legible la clase.
Lo que estoy intando realizar ahora, es hacer una abstracción de la clase y setear los métodos abstractos que deberían implementar las clases que lo heredan.
DB_Adapter.php
Código PHP:
Ver original
abstract class DB_Adapter { abstract function query(){} abstract function fetch(){} abstract function fetchAll(){} }
MySQL.php
Código PHP:
Ahora bien, tengo dudas sobre como o donde poner los constructores singleton, y los métodos de conexión a la base de datos.Ver original
{ //y acá???? :) }
A la hora de instanciar una clase, por ejemplo el adaptar para MySQL o uno para PDO, como debería hacerlo?
Gracias!!