Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/04/2010, 11:13
Avatar de 2102325
2102325
 
Fecha de Ingreso: octubre-2009
Ubicación: Santo Domingo RD
Mensajes: 75
Antigüedad: 14 años, 7 meses
Puntos: 1
Herencia Php Clase Conexion

Saludos

Reciente me estoy iniciando en php, y quiero orientarme por la modalidad orientada a objetos, he leido mucho, y he visto algunos videos que me han ayudado, ahora bien no me gusta hacer las cosas como otro las hace, me gusta implementar mi forma, creo que asi somos todos...

En fin, mi duda es la siguiente estoy intentando crear una clase Conexion que herede de otra clase llamada Configuracion y no he podido hacerlo aun me esta dando Error...

Este es el listado de errores en pantalla disculpen la puesta en codigo php

Código PHP:

Notice
Undefined variableservidor in C:wampwwwPruebas PHP OOPManejadorDeArticulos.php on line 8

Notice
Undefined variableusuario in C:wampwwwPruebas PHP OOPManejadorDeArticulos.php on line 8

Notice
Undefined variableclave in C:wampwwwPruebas PHP OOPManejadorDeArticulos.php on line 8

Notice
Undefined variabledatabase in C:wampwwwPruebas PHP OOPManejadorDeArticulos.php on line 8

Fatal error
Undefined class constant 'getServidor' in C:wampwwwPruebas PHP OOPConexionDb.php on line 14 
Este es mi codigo

Código PHP:

<?php
    
class ConfiguracionDB{
        private 
$servidor "localhost";
        private 
$usuario "root";
        private 
$clave "";
        private 
$database "pruebas";
        
            public function 
__construct($servidor$usuario$clave$database){
                
$this->servidor $servidor;
                
$this->usuario $usuario;
                
$this->clave $clave;
                
$this->database $database;
            }
            
            public function 
getServidor(){
                return 
$this->servidor;
            }
            
            public function 
getUsuario(){
                return 
$this->usuario;
            }
            
            public function 
getClave(){
                return 
$this->clave;
            }
            
            public function 
getDatabase(){
                return 
$this->database;
            }
    
    }
?>
Aqui donde hago la herencia

Código PHP:

<?php
include('ConfiguracionDb.php');
    class 
ConexionDb extends ConfiguracionDb{
        private 
$link;
        private 
$resultQuery;

        
        public function 
__construct($servidor$usuario$clave$database){
            
parent::__construct($servidor$usuario$clave$database);
            
$this->conectarDb();
        }
        
        public function 
conectarDb(){

//aqui tengo este error
//Fatal error: Undefined class constant 'getServidor' in C:\wamp\www\Pruebas PHP OOP\ConexionDb.php on line 14

//y mi pregunta es si es posible hacer eso que estoy haciendo pasar por parametros la llamada de las funciones...

            
$this->link mysql_connect(parent::getServidorparent::getUsuarioparent::getClave);
            
mysql_select_db(parent::getDatabase$this->link);
        }
        
        public function 
ejecutarSQL($sentenciaSQL){
            
mysql_query($sentenciaSQL$this->link);
        }
        
        public function 
consltarDb($sentenciaSQL){
            
$this->resultQuery mysql_query($sentenciaSQL$this->link);
            return 
$this->resultQuery;
        }
        
        public function 
cerrarConexion($link){
            
mysql_close($this->link);
        }
        
        
    }

Código PHP:

<?php
include('ConexionDb.php');
include(
'Articulo.php');
    class 
ManejadorDeArticulos{
        private 
$conexion;
    
        public function 
__construct(){
        
            
//Esta linea me dice que las variables que paso por parametro no estan definidas
            //y si las quito me dice que tengo que pasarlas...
            //Notice: Undefined variable: servidor in C:\wamp\www\Pruebas PHP OOP\ManejadorDeArticulos.php on line 8
            //tengo 4 errores del antes mensionado, me imagino que por los 4 parametros     
            
$this->conexion = new ConexionDb($servidor$usuario$clave$database); 
            
            
        }
        
        public function 
agregarArticulo($articulo){
        
            
$descripcion $articulo->getDescripcion();
            
$precio $articulo->getPrecio();
            
$cantidad $articulo->getCantidad();
            
$query "INSERT INTO articulos (descripcion, precio, cantidad)
            VALUES('$descripcion', '$precio','$cantidad')"
;
            
$this->conexion->ejecutarSQL($query);
        }

    }
?>
Es todo.... espero aprender algo nuevo en esto... agradesco el timpo tomado en leer mi mensaje...
de veras Gracias...