Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

duda sobre clase de conexion

Estas en el tema de duda sobre clase de conexion en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos tengo una duda conceptual, miren yo realize una clase para conexion que es esta: Código PHP: <? class  conexion      {         public  ...
  #1 (permalink)  
Antiguo 09/02/2007, 11:29
 
Fecha de Ingreso: marzo-2004
Mensajes: 186
Antigüedad: 20 años, 1 mes
Puntos: 0
duda sobre clase de conexion

Hola a todos tengo una duda conceptual, miren yo realize una clase para conexion que es esta:

Código PHP:
<?
class conexion
    
{
        public 
$host;
        public 
$cliente;
        public 
$password;
        public 
$db;
        
        function 
__construct($host,$cliente,$password,$db)
        {
            
$this->host$host;
            
$this->cliente=$cliente;
            
$this->password=$password;
            
$this->db=$db;
        }
        
        function 
conectar()
        {

            if (!(
$link mysql_connect($this->host,$this->cliente,$this->password)))
                
                {
                    return 
"Error conectandose a la base de datos.";
                    exit();
                }
            
            if (!
mysql_select_db("$this->db",$link))
                {
                    return 
"Error seleccionando la base de datos.";
                    exit();
                }

        return 
$link;
        }

    }
?>
Pero se supone que en cada pagina donde se conecten con la Bd es necesario hacer esto

Código PHP:
<?
include("conexion.php");
$conexion = new conexion("localhost","root","654321","tesis");
$conexion->conectar();
?>
Ahora yo me pregunto si por N motivos tengo que cambiar la clave a el usuario de la BD o cambiar el nombre de la BD, tendria q realizarlo en todas las paginas que se conectan a esa BD, cosa muy tediosa si son mas de 20, ahora como podria cambiar esto para que todo sea en una sola pagina, pero no tenga script sueltos

gracias a todos por sus respuestas un saludo
__________________
Software a Medida
voip Locutorios
  #2 (permalink)  
Antiguo 09/02/2007, 12:00
 
Fecha de Ingreso: diciembre-2003
Mensajes: 204
Antigüedad: 20 años, 4 meses
Puntos: 2
Re: duda sobre clase de conexion

tal y como lo tienes, yo al constructor le pondria los parametros que tienes con valores por defecto, de forma que cuando tengas que cambiar por ejemplo la contraseña en 20 paginas simplemente modifiques el valor por defecto del constructor.

Otra opcion es usar variables globales, y pasarle al constructor cuando instancias la clase las variables que contienen los valores, asi cuando tengas que cambiarlos, solo los cambiaras en un fichero.

Espero que te sirva
  #3 (permalink)  
Antiguo 09/02/2007, 12:16
 
Fecha de Ingreso: marzo-2004
Mensajes: 186
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: duda sobre clase de conexion

Pero al hacer eso el objeto ya no estaria tan encapsulado, osea tendrias que tocar el codigo del objetos cada ves que lo utilises en una nueva aplicacion y creo que eso no es factible en el POO, que alguien me diga si me equivoco

saludos cordiales
__________________
Software a Medida
voip Locutorios
  #4 (permalink)  
Antiguo 09/02/2007, 12:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: duda sobre clase de conexion

Deberias de buscar en el foro antes de abrir un nuevo tema, pero bueno, date una vuelta por aqui: http://www.forosdelweb.com/f68/invocar-clase-metodo-otra-parametros-fijos-463335/

Saludos.
  #5 (permalink)  
Antiguo 09/02/2007, 12:47
 
Fecha de Ingreso: marzo-2004
Mensajes: 186
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: duda sobre clase de conexion

disculpa gatorV no vi eso sorry
__________________
Software a Medida
voip Locutorios
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 02:31.