Foros del Web » Programando para Internet » PHP »

PHP OO error al declarar variables dentro de una clase

Estas en el tema de error al declarar variables dentro de una clase en el foro de PHP en Foros del Web. buenas amigos tengo un problema al declarar las variables dentro de una clase. les dejo el código: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php class ...
  #1 (permalink)  
Antiguo 07/09/2014, 14:09
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
error al declarar variables dentro de una clase

buenas amigos tengo un problema al declarar las variables dentro de una clase.
les dejo el código:
Código PHP:
Ver original
  1. <?php
  2. class Connection{
  3.     // Coneccion de base de datos, estructura y consultas
  4.     private $DB_HOST="localhost";
  5.     private $DB_USERNAME="user";
  6.     private $DB_PASS="user";
  7.     private $DB_NAME="user";
  8.     function tipoDB(){
  9.         switch (CONECTOR_DB) {
  10.             case "MySQLi": //Conector para MySQLy
  11.                 $dblink = mysqli_connect($DB_HOST, $DB_USERNAME, $DB_PASS);//linea 17
  12.                 $selected = mysqli_select_db($dblink,$DB_NAME);//linea 18
  13.                 if (!$selected) { errorDB($dblink); }
  14.                 $dblink->query("SET NAMES 'utf8'");
  15.                 //echo "conexion correcta";
  16.                 return $dblink;
  17.             break;
  18.             case "Oracle": //Conector para Oracle
  19.                 echo"no se puede utilizar este procedimiento";
  20.             break;
  21.             case "PostGre": //Conector para PostGre
  22.                 echo"no se puede utilizar este procedimiento";
  23.             break;
  24.             case "SQL": //Conector para SQL
  25.                 echo"no se puede utilizar este procedimiento";
  26.             break;     
  27.             default: //Conector para Oracle
  28.                 echo"no Existe una coneccion establecida";
  29.         }
  30.     }
  31.     function errorDB($dblink){
  32.         die ('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  33.     }
  34. }
  35. ?>

error:
Notice: Undefined variable: DB_HOST in I:\webserver\htdocs\phpcore\class.connection.php on line 17
Notice: Undefined variable: DB_USERNAME in I:\webserver\htdocs\phpcore\class.connection.php on line 17
Notice: Undefined variable: DB_PASS in I:\webserver\htdocs\phpcore\class.connection.php on line 17
Notice: Undefined variable: DB_NAME in I:\webserver\htdocs\phpcore\class.connection.php on line 18
Fatal error: Call to undefined function errorDB() in I:\webserver\htdocs\phpcore\class.connection.php on line 19


algún chico que me apoye por favor.
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #2 (permalink)  
Antiguo 07/09/2014, 14:15
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: error al declarar variables dentro de una clase

Ponelo asi:

Código PHP:
Ver original
  1. $dblink = mysqli_connect($this->DB_HOST, $this->DB_USERNAME, $this->$DB_PASS);//linea 17
  2. $selected = mysqli_select_db($dblink,$this->$DB_NAME);//linea 18


Saludos!
__________________
El castellano es un idioma hermoso, por favor no lo alteres, no lo modifiques, escribe correctamente.
  #3 (permalink)  
Antiguo 07/09/2014, 14:27
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: error al declarar variables dentro de una clase

alguna forma de evitar el uso de
Cita:
$this->DB_HOST
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #4 (permalink)  
Antiguo 07/09/2014, 15:41
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: error al declarar variables dentro de una clase

Cita:
Iniciado por arcanisgk122 Ver Mensaje
alguna forma de evitar el uso de
Código PHP:
Ver original
  1. $this->DB_HOST
Declara las variables dentro del método, aunque no veo por qué quieras evitar el uso de $this.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 07/09/2014, 16:04
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: error al declarar variables dentro de una clase

para hacer corto el código :) solo eso y si me pueden ayudar con esta otra situación:

http://www.forosdelweb.com/f18/llama...entes-1108374/

les agradezco chicos
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #6 (permalink)  
Antiguo 07/09/2014, 16:52
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: error al declarar variables dentro de una clase

Cita:
para hacer corto el código :) solo eso y si me pueden ayudar con esta otra situación:
Y como piensas que dejar de usar $this te va ayudar ? tal vez el problema es que necesites replantear lo que estas haciendo
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: clase, declarar, mysql, select, sql, variable, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:58.