Acabo de terminar una conexion que es con pdo y utiliza una clase que es un patron registro, que obviamente "registra" la conexion, para poder utilizarla posteriormente en cualquier otra clase, aqui les dejo las clases y me gustaría que me corrijieran a ver si está bien implementado el uso del patron, o está faltando algo (mas alla de que funcione lo que me interesa es el modelado en general y el uso del patron).
//clase que hace la conexion a pdo
Código PHP:
Ver original
class conectarpdo{ private $base; private $usuario; private $pass; function __construct(){ $this->base="mibase"; $this->usuario="miuser"; $this->pass="mipassword"; } public function conectar(){ $conectar=new PDO('mysql:host=localhost;dbname='.$this->base,$this->usuario,$this->pass); return $conectar; } }
// la interface del patron registry y su implementacion en la clase a utilizar
Código PHP:
Ver original
interface patron_registro{ public function agregar(); public function remover(); public function obtener(); public function existe(); } class registro_conexion implements patron_registro { private $registro; public function agregar() { { $conn = new conectarpdo(); $valor_conexion = $conn->conectar(); $this->registro = $valor_conexion; } } public function remover() { { } } public function obtener() { { return $this->registro; } } public function existe() { { return true; } else{ return false; } } }
Su utilización:
Código PHP:
Bueno, el que pueda echar una miradita a ver si esta bien implementado esto le agradezco. Ver original
//dentro de un metodo de cualquier clase $crearconn = new registro_conexion(); $existe = $crearconn->existe(); if(TRUE == $existe){ $conectar = $crearconn->obtener(); } else{ $crearconn->agregar(); $conectar = $crearconn->obtener(); } //en $conectar tengo una conexion PDO y puedo utilizarla por ej. para hacer un select. $consulta=$conectar->prepare('select * from paraobj where id =:id'); $consulta->bindParam(':id',$this->dato); $consulta->execute();