Cita:
Iniciado por GatorV Exacto ahora sí, te digo sería mucho mejor para ti y para que aprendas más que leas un libro de PHP, así puedes entender como funciona la sintaxis y como crear funciones y declarar los valores.
Saludos.
Entonces no hace falta que utilice el método Conectar() dentro de la clase no?
Código PHP:
Ver originalprivate function Conectar(){
try {
$this->_conexion = new PDO("mysql:host=$this->_host;dbname=$this->_db", $this->_username, $this->_password);
// echo a message saying we have connected
echo 'Connected to database';
}
catch(PDOException $e){
echo $e->getMessage();
}
return $this->_conexion;
}
Con esto sería suficiente no?
<?php
Código PHP:
Ver originalclass DB extends PDO {
private $_username;
private $_password;
private $_host;
private $_db;
private $_conexion;
private $_dsn;
public function __construct(Config $config)
{
$config_data = $config->getConfig();
$this->_username = $config_data['username'];
$this->_password = $config_data['password'];
$this->_host = $config_data['host'];
$this->_db = $config_data['db'];
$this->_dsn="mysql:host=$this->_host;dbname=$this->_db";
try {
parent::__construct($this->_dsn, $this->_username, $this->_password);
// echo a message saying we have connected
//echo 'Connected to database';
}
catch(PDOException $e){
echo $e->getMessage();
}
}
}
?>
ejemplo1.php
Código PHP:
Ver original<?php
require('config_reader.php');
require('db.php');
require('registry.php');
class Categoria{
private $nombreCategoria;
// Listar todas las categorias de la base de datos
public function listarCategorias($db){
$query = "SELECT nombre FROM categorias";
$comando = $db->prepare($query);
$comando->execute();
while( $datos = $comando->fetch() ) {
// Imprimimos resultados
echo $datos[0].'<br />';
}
}
// Listar todas los partidos de la base de datos
public function listarPartidos($db){
$query = "SELECT home FROM partidos";
$comando = $db->prepare($query);
$comando->execute();
while( $datos = $comando->fetch() ) {
// Imprimimos resultados
echo $datos[0].'<br />';
}
}
}
//Cargo los datos del fichero .ini
$config_slave = new Config('params_slave.ini');
$config_master = new Config('params_master.ini');
//Creo el objeto de la base de datos
$db_slave = new db($config_slave);
$db_master = new db($config_master);
//Guardo las instancias diferentes con Registry
Registry::save('db_slave', $db_slave);
Registry::save('db_master', $db_master);
//Recupero las instancias con Registry
$db_slave=Registry::get('db_slave');
$db_master=Registry::get('db_master');
$cat= new Categoria();
$cat->listarCategorias($db_slave); // Leo de la BBDD slave
$cat->listarPartidos($db_master); // Ejemplo leyendo de otra BBDD master
?>