Creando archivo de configuración global del CMS
Primero vamos a crear nuestro directorio de trabajo, por ejemplo "cms", dentro de este crear dos directorios llamados public y setting.
- Setting: Contiene el los archivos de configuración y el núcleo del CMS.
- Public: Contiene el sitio web y el área de administración de los contenidos de la web.
Dentro de setting creamos un archivo llamado config.php donde manejaremos todos los datos de configuración global de nuestro CMS.
<?php error_reporting( error_reporting() & ~E_NOTICE ); class Config{ const SERVERNAME = '127.0.0.1'; const USERNAME = 'mi_usuario'; const PASSWORD = 'mi_clave'; const DATABASE = 'cms_solvetic'; const URL = 'http://localhost/cms/public/'; const PREFIX = 'solvetic_'; const PREFIX_PAGE = 'page_'; const PATH_ROOT = 'cms/public/'; } ?>
- Servername: IP donde está tu base de datos.
- Username: Usuario de tu base de datos. Los privilegios mínimos que necesita dicho usuario son SELECT, UPDATE, DELETE, INSERT
- Database: Nombre de la base de datos.
- URL: Url del sitio. Cuando tu sitio web se encuentre en un servidor en internet no es necesario usar cms/public/. Ya que el directorio public sería el public_html en el hosting.
- PREFIX: Prefijo usado para variables globales de tu sitio. Al igual que PREFIX_PAGE
- PATH_ROOT: Esta constante la usaremos para ayudarnos en el reconocimiento de nuestro sitio localmente.
- error_reporting: Usado para que no tengamos que PHP no nos moleste con variables que no se encuentren definidas y no tener que estar validando constantemente si la variable está definida o no.
<?php require_once('config.php'); class MySql{ private $conn; public function connect(){ try { $this->conn = new PDO("mysql:host=".Config::SERVERNAME.";dbname=".Config::DATABASE, Config::USERNAME, Config::PASSWORD); $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return true; }catch(PDOException $e){ echo "Connection failed: " . $e->getMessage(); return false; } } public function execute($sql){ try{ if($this->connect()){ return $this->conn->exec($sql); }else{ return false; } }catch(PDOException $e){ echo $sql . "<br>" . $e->getMessage(); } } public function search($sql){ try{ if($this->connect()){ $stmt = $this->conn->prepare($sql); $stmt->execute(); $stmt->setFetchMode(PDO::FETCH_ASSOC); return $stmt->fetchAll(); }else{ return array(); } }catch(PDOEXception $e){ echo $sql ."<br />". $e->getMessage(); return false; } } public function close(){ $this->conn = null; } } ?>
- connect(): Realiza la conexión con la base de datos.
- execute(): Realiza INSERT, UPDATE y DELETE en el CMS.
- search(): Realiza consultas a las tablas de la base de datos.
- close(): Finaliza la conexión con la base de datos.
Hasta ahora esto es lo que llevamos creado:
Pulsa en Siguiente para ir al nuevo capítulo para conocer la realización del administrador del CMS.
Muchas gracias, es un tutorial que voy a leerlo con calma. Lo he visto por encima y es super completo. Saludos.