Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/10/2013, 12:56
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Cómo hacer correctamente clase de conexión de BD para incluirlas en otras

Bueno puedes pasar el parametro de la tabla a traves del constructor

Código PHP:
Ver original
  1. class Helper {
  2.     //Propiedades    
  3.     private static $host      = 'localhost';
  4.     private static $user       = 'root';
  5.     private static $pass      = '';
  6.  
  7.     private $dbname    = 'default';    // default
  8.    
  9.     private static $dbh;
  10.     private static $error;
  11.    
  12.     private static $router;
  13.  
  14.     public static function construct($db = null){
  15.  
  16.    $this->dbname = empty($db) ? $this->dbname : $db;
  17.  
  18.         // Set DSN -- Donde se conecta
  19.         $dsn = 'mysql:host=' . self::$host . ';dbname=' . $this->$dbname;        
  20.         // Set options
  21.         $options = array(
  22.             PDO::ATTR_PERSISTENT    => true,
  23.             PDO::ATTR_ERRMODE       => PDO::ERRMODE_EXCEPTION
  24.         );            
  25.         // Create a new PDO instanace, crear el objeto de acceso a base de datos
  26.         try{
  27.             self::$dbh = new PDO($dsn, self::$user, self::$pass, $options);
  28.             //funcion para crear el menu desde la base de datos
  29.             self::setRouter();        
  30.         }
  31.         // Catch any errors
  32.         catch(PDOException $e){
  33.             self::$error = $e->getMessage();
  34.         }
  35.     }
  36.    
  37.     public static function setRouter() {//Le cargo a 'router' los valores de inicialización
  38. .....
  39.       }
  40.      
  41.      self::$router = $array;      
  42.     }
  43.  
  44. public static function getColumn($file = null ) {
  45. ......
  46. }
  47.  
  48.  
  49. public static function getContent($file = null) {
  50. .....
  51. }
  52.              
  53. }
  54.  
  55. $obj = new Helper('menu_categorias');
  56. $obj2 = new Helper('menu_url');
  57. $obj3 = new Helper(); // default