Oka, me hice esto. Tengo un archivo
config.php
Código PHP:
<?php
$host = "localhost";
$user = "root";
$password = "";
$db = "administrativo";
?>
Tengo mi archivo php.php donde pienso tener tooodas mis funciones y clases en php
PD. Aun estoy terminando este archivo, es un pequeño proyecto personal sobre un sistema que quiero llevar a cabo porque en verdad me gusta esto y desde hace tiempo estoy buscando pasar a mysqli, POO y PDO, hasta los momentos me funciona, aqui les va
Código PHP:
<?php
session_start();
date_default_timezone_set("America/Caracas");
//conf principalmente me trae los valores del archivo config.php
class Conf{
private $_user;
private $_password;
private $_host;
private $_database;
static $_instance;
private function __construct(){
require("config.php");
$this->_user=$user;
$this->_password=$password;
$this->_host=$host;
$this->_database=$db;
}
public static function getInstance(){
if(!(self::$_instance instanceof self)){
self::$_instance = new self;
}
return self::$_instance;
}
public function getUserDB(){
$var = $this->_user;
return $var;
}
public function getHostDB(){
$var = $this->_host;
return $var;
}
public function getPassDB(){
$var = $this->_password;
return $var;
}
public function getDB(){
$var = $this->_database;
return $var;
}
}
class Db{
private $servidor;
private $usuario;
private $password;
private $database;
private $conex;
static $_instance;
private function setConexion(){
$conf = Conf::getInstance();
$this->servidor=$conf->getHostDB();
$this->database=$conf->getDB();
$this->usuario=$conf->getUserDB();
$this->password=$conf->getPassDB();
}
private function __construct(){
$this->setConexion();
//gracias a mi amigo @jonni09lo de www.forosdelweb.com
try{
$this->conex = new PDO('mysql:host='.$this->servidor.';dbname='.$this->database.'', $this->usuario, $this->password);
}catch(Exception $e){
echo $e->getMessage();
}
}
public function ejecutar($sql){
$this->conex->query($sql);//gracias a mi amigo @jonni09lo de www.forosdelweb.com
}
public static function getInstance(){
if(!(self::$_instance instanceof self)){
self::$_instance = new self();
}
return self::$_instance;
}
}
function getUbicacionCliente(){
$ip = $_SERVER["REMOTE_ADDR"];
$bd = Db::getInstance();//instancia de Db (buena idea para que se vea complejo el codigo no? Lo vi por alli)
$stmt = $bd->ejecutar("select * from maquinas_ubicaciones");//gracias a mi amigo @jonni09lo de www.forosdelweb.com
}
//ejecutandose (funciones que siempre estaran en ejecucion, como un reloj o elaboracion de respaldos automaticos a ciertas cosas o cualquier cosa que se me ocurra a un tiempo)
Creo que se ve bien y tambien funciona bien, se me escapa algo? Que dicen?