¿Cuál es la mejor forma?
Clase 1:
Código PHP:
Ver original
class Clase1 { //Propiedades private static $host = 'localhost'; private static $user = 'user'; private static $pass = 'pass; private static $dbname = 'mi_base'; private static $dbh; private static $error; private static $router; public static function construct(){ // Set DSN -- Donde se conecta // Set options $options = array( PDO::ATTR_PERSISTENT => true, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ); // Create a new PDO instanace, crear el objeto de acceso a base de datos try{ self::$dbh = new PDO($dsn, self::$user, self::$pass, $options); //funcion para crear el menu desde la base de datos self::setRouter(); } // Catch any errors catch(PDOException $e){ self::$error = $e->getMessage(); } } public static function setRouter() {//Le cargo a 'router' los valores de inicialización $array = array(); $stmt = self::$dbh->prepare('SELECT * FROM tabla_1');//stmt = statement = Sentencia, consulta $stmt->execute(); // Luego recorrer el juego de resultados: while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $array[$row['nombrePagina']] = array( 'columna' => $row['columnaPagina'], 'contenido' => $row['contenidoPagina'] ); // Asigno la columna sólo si es necesaria if($row['columnaPagina'] != '') { //$array[$row['arrayUrl_name']]['arrayUrl_column'] = $row['arrayUrl_column']; } } self::$router = $array; } public static function getColumna($file = null ) { self::construct(); if (array_key_exists($file, self::$router) && isset(self::$router[$file]['columna'])) { ob_start(); if(is_file(self::$router[$file]['columna'])) require_once(self::$router[$file]['columna']); return ob_get_clean(); } } public static function getContenido($file = null) { self::construct(); if (array_key_exists($file, self::$router) && is_file(self::$router[$file]['contenido'])) { ob_start(); require_once(self::$router[$file]['contenido']); return ob_get_clean(); } }
Clase 2:
Código PHP:
Ver original
class Clase2 { //Propiedades private static $host = 'localhost'; private static $user = 'user'; private static $pass = 'pass; private static $dbname = 'mi_base'; private static $dbh; private static $error; private static $router; public static function construct(){ // Set DSN -- Donde se conecta // Set options $options = array( PDO::ATTR_PERSISTENT => true, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ); // Create a new PDO instanace, crear el objeto de acceso a base de datos try{ self::$dbh = new PDO($dsn, self::$user, self::$pass, $options); //funcion para crear el menu desde la base de datos self::setRouter(); } // Catch any errors catch(PDOException $e){ self::$error = $e->getMessage(); } } public static function setRouter() {//Le cargo a 'router' los valores de inicialización $array = array(); $stmt = self::$dbh->prepare('SELECT * FROM tabla_2');//stmt = statement = Sentencia, consulta $stmt->execute(); // Luego recorrer el juego de resultados: while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $array[$row['nombrePagina']] = array( 'columna' => $row['columnaPagina'], 'contenido' => $row['contenidoPagina'] ); // Asigno la columna sólo si es necesaria if($row['columnaPagina'] != '') { //$array[$row['arrayUrl_name']]['arrayUrl_column'] = $row['arrayUrl_column']; } } self::$router = $array; } public static function getColumna($file = null ) { self::construct(); if (array_key_exists($file, self::$router) && isset(self::$router[$file]['columna'])) { ob_start(); if(is_file(self::$router[$file]['columna'])) require_once(self::$router[$file]['columna']); return ob_get_clean(); } } public static function getContenido($file = null) { self::construct(); if (array_key_exists($file, self::$router) && is_file(self::$router[$file]['contenido'])) { ob_start(); require_once(self::$router[$file]['contenido']); return ob_get_clean(); } }
![Aplauso](http://static.forosdelweb.com/fdwtheme/images/smilies/aplausos.gif)