Buen día, tal y como lo vengo diciendo hace un tiempo, estoy introduciéndome al mundo de la poo.
Tome uno de mis proyectos ya realizados en estructurada, es un archivo que solo muestra una tabla con una serie de eventos a realizarse en la empresa, algo sencillo.
Pues lo primero que hice fue colocar ese archivo como index y realice un árbol así:
Cita: Index.php
--root/
----loader.php
----class/
------config.php
------database.php
Archivo index.php
Código PHP:
Ver original<?php
// require_once(DIR_ROOT.SLASH.'loader.php'); // No funciona
require_once('root/loader.php');
echo DBM::conexion();
echo DBM::desconectar();
?>
Archivo loader.php
Código PHP:
Ver original<?php
define('SLASH', DIRECTORY_SEPARATOR); // define('DIR_CLASS', DIR_ROOT."/".'class'); // Preferi usar la constante
define('DIR_CLASS', DIR_ROOT
.SLASH
.'class'.SLASH
);
require_once(DIR_CLASS.'config.php');
require_once(DIR_CLASS.'database.php');
?>
Archivo database.php
Código PHP:
Ver original<?php
// error_reporting(0);
require_once(DIR_ROOT.SLASH.'loader.php');
class DBM{
private $conexion;
private $database;
public function conexion()
{
return self::conectar();
}
private function conectar(){
if (!$conexion){
return $response;
}
else{
if (!$database) {
$response = 'Error al conectar con la Base de Datos <b>'.DB_DATABASE
.'</b> '.mysqli_error($conexion); return $response;
}
else{
$response .= $conexion->host_info . "<br>";
$response .= 'Conectado al Servidor: <b>'.DB_HOST.'</b><br>';
$response .= 'Base de Datos: <b>'.DB_DATABASE.'</b><br>';
$response .= ('Conjunto de caracteres de la Base de Datos es: <b>'.$conexion->character_set_name().'</b><br>');
return $response;
}
}
}
public function desconectar(){
$conexion = self::conexion();
echo '<hr>';
echo '<hr>';
$response = '<hr>Conexion a la Base de Datos Cerrada !!!';
return $response;
}
else{
$response = '<hr>La Conexion a la Base de Datos sigue Abierta !!!';
return $response;
}
}
else{
$response = 'Conexion no esta definida';
return $response;
}
}
}
// $dbm = new DBM();
?>
Dudas
1- Porque desde index.php si coloco
require_once(DIR_ROOT.SLASH.'loader.php'); no funciona, pero si coloco
require_once('root/loader.php'); si ??
2- En database.php esta correcta la funcion conectar?? Osea, si funciona y muestra tal cual la informacion de los echo, pero no se si esta bien diseñada. o si el hecho de "redeclarar" $conexion es incorrecto?
3- La función desconectar esta bien diseñada?? Tengo dudas en esa variable
$conexion puesto que el ejemplo que he seguido utiliza
$this->conexion pero yo he englobado eso en la variable $conexion en la función conectar(), no se si deba hacerlo en cada función ?? me refiero al código
$conexion = $this->conexion ??
A parte de eso No funciona, pongo captura del resultado
4- El ejemplo que estoy siguiendo es el que se puede descargar en
Este Link, y esa gente hace una funcion para cada cosa.
5- Cual seria la forma de hacer una función para tratar todos los select? o hay que hacer una función por cada select ? de ser así es lo mismo que en estructurada
6- Tambien estaba siguiendo un curso de Cesar Cancino pero es super viejo, hoy estoy siguiendo
Este de Facultad Autodidacta