Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/07/2011, 10:56
kriss8725
 
Fecha de Ingreso: mayo-2009
Mensajes: 242
Antigüedad: 14 años, 11 meses
Puntos: 2
Pregunta Duda con instancias a clases en php

Buenas tardes quiciera saber si es correcto hacer la instancia de la clase padre en cada una de las funciones de la clase hijo, pongo una clase donde hago eso:

Código PHP:
 include_once("global.php");
 
 class 
clientes extends _GLOBAL_
 
{
     public function 
main(){
        
//instancia a la clase _GLOBAL_ 
        
$this->db = new _GLOBAL_;
        
//conexion a base de datos
        
$this->db->conexion();
        
//consulta de clientes
        
$consulta $this->db->consulta("SELECT idCliente,empresa,direccion,municipio,estado,pais FROM clientes ORDER BY idCliente DESC");
        
$resultado $this->db->fetch_array($consulta);
        
$nombreSeccion "Ver / Actualizar / Eliminar - Clientes";
        include_once(
"./vista/cabecera.php");
        include_once(
"./vista/mostrarclientes.php");
        include_once(
"./vista/pie.php");
     }
     
     public function 
altaCliente(){
        
$nombreSeccion "Alta - Cliente";
        include_once(
"./vista/cabecera.php");
        include_once(
"./vista/altaclientes.php");
        include_once(
"./vista/pie.php");         
     }
     
     public function 
realizarAltaCliente(){
        
//instancia a la clase _GLOBAL_ 
        
$this->db = new _GLOBAL_;
        
//conexion a base de datos
        
$this->db->conexion();
        
//valores para edicion
        
$empresa utf8_decode($_POST['empresa']);
        
$contacto utf8_decode($_POST['contacto']);
        
$dir utf8_decode($_POST['dir']);
        
$cp utf8_decode($_POST['cp']);
        
$pais utf8_decode($_POST['pais']);
        
$estado utf8_decode($_POST['estado']);
        
$municipio utf8_decode($_POST['municipio']);
        
$email utf8_decode($_POST['email']);
        
$telfax utf8_decode($_POST['telfax']);
        
$obs utf8_decode($_POST['obs']);
        
//edición de cliente
        
$consulta $this->db->consulta("INSERT INTO clientes(empresa,direccion,cp,municipio,estado,pais,correo,telfax,nombre_contacto,observaciones) VALUES ('".$empresa."','".$dir."','".$cp."','".$municipio."','".$estado."','".$pais."','".$email."','".$telfax."','".$contacto."','".$obs."')");
        
$ultimoID $this->db->ultimoId();
        
        if(
$consulta == true){
            echo 
$ultimoID;
        }else{
            echo 
"Error al guardar cliente: ".mysql_error();
        }
     }
     
     public function 
realizarAltaFacturaCliente(){
        
//instancia a la clase _GLOBAL_ 
        
$this->db = new _GLOBAL_;
        
//conexion a base de datos
        
$this->db->conexion();
        
//valores para edicion
        
$idCliente utf8_decode($_POST['idCliente']);
        
$razon utf8_decode($_POST['razon']);
        
$rfc utf8_decode($_POST['rfc']);
        
$calle utf8_decode($_POST['calle']);
        
$numext utf8_decode($_POST['numext']);
        
$numint utf8_decode($_POST['numint']);
        
$colonia utf8_decode($_POST['colonia']);
        
$cp utf8_decode($_POST['cp']);
        
$pais utf8_decode($_POST['pais']);
        
$estado utf8_decode($_POST['estado']);
        
$municipio utf8_decode($_POST['municipio']);
        
//edición de cliente
        
$consulta $this->db->consulta("INSERT INTO facturacion(idCliente,razon_social,rfc,calle,num_ext,num_int,colonia,cp,municipio,estado,pais) VALUES ('".$idCliente."','".$razon."','".$rfc."','".$calle."','".$numext."','".$numint."','".$colonia."','".$cp."','".$municipio."','".$estado."','".$pais."')");
        
$ultimoID $this->db->ultimoId();
        
        if(
$consulta == true){
            echo 
$ultimoID;
        }else{
            echo 
"Error al guardar cliente: ".mysql_error();
        }
     }
     
     public function 
editarCliente($arrayValores){
        
//instancia a la clase _GLOBAL_ 
        
$this->db = new _GLOBAL_;
        
//conexion a base de datos
        
$this->db->conexion();
        
//id del cliente 
        
$id $arrayValores[2];
        
//consulta de clientes
        
$consultaCliente $this->db->consulta("SELECT clientes.idCliente AS idCliente,clientes.empresa AS empresa,clientes.direccion AS direccion,clientes.cp AS cp,clientes.municipio AS municipio,clientes.estado AS estado,clientes.pais AS pais,clientes.correo AS correo,clientes.telfax AS telfax,clientes.nombre_contacto AS contacto,clientes.observaciones AS obs FROM clientes WHERE clientes.idCliente = $id");
        
$resultadoCliente $this->db->fetch_array($consultaCliente);
        
$consultaFactura $this->db->consulta("SELECT facturacion.idFacturacion AS idFacturacion,facturacion.razon_social AS razon,facturacion.rfc AS rfc,facturacion.calle AS calle,facturacion.num_ext AS numext,facturacion.num_int AS numint,facturacion.colonia AS colonia,facturacion.cp AS cpfact,facturacion.municipio AS municipiofact,facturacion.estado AS estadofact,facturacion.pais AS paisfact FROM facturacion WHERE facturacion.idCliente = $id");
        
$resultadoFactura $this->db->fetch_array($consultaFactura);
        
$nombreSeccion "Editar - Cliente";
        include_once(
"./vista/cabecera.php");
        include_once(
"./vista/editarclientes.php");
        include_once(
"./vista/pie.php");         
     }
      
     public function 
realizarEdicionCliente(){
        
//instancia a la clase _GLOBAL_ 
        
$this->db = new _GLOBAL_;
        
//conexion a base de datos
        
$this->db->conexion();
        
//valores para edicion
        
$idC $_POST['idC'];
        
$empresa utf8_decode($_POST['empresa']);
        
$contacto utf8_decode($_POST['contacto']);
        
$dir utf8_decode($_POST['dir']);
        
$cp utf8_decode($_POST['cp']);
        
$pais utf8_decode($_POST['pais']);
        
$estado utf8_decode($_POST['estado']);
        
$municipio utf8_decode($_POST['municipio']);
        
$email utf8_decode($_POST['email']);
        
$telfax utf8_decode($_POST['telfax']);
        
$obs utf8_decode($_POST['obs']);
        
//edición de cliente
        
$consulta $this->db->consulta("UPDATE clientes SET empresa = '".$empresa."', direccion = '".$dir."', cp = '".$cp."', municipio = '".$municipio."', estado = '".$estado."', pais = '".$pais."', correo = '".$email."', telfax = '".$telfax."', nombre_contacto = '".$contacto."', observaciones = '".$obs."'  WHERE idCliente = $idC");
        
        if(
$consulta == true){
            echo 
"true";
        }else{
            echo 
"Error al editar cliente: ".mysql_error();
        }
     }
     
     public function 
realizarEdicionFacturaCliente(){
        
//instancia a la clase _GLOBAL_ 
        
$this->db = new _GLOBAL_;
        
//conexion a base de datos
        
$this->db->conexion();
        
//valores para edicion
        
$idF $_POST['idF'];
        
$razon utf8_decode($_POST['razon']);
        
$rfc utf8_decode($_POST['rfc']);
        
$calle utf8_decode($_POST['calle']);
        
$numext utf8_decode($_POST['numext']);
        
$numint utf8_decode($_POST['numint']);
        
$colonia utf8_decode($_POST['colonia']);
        
$cp utf8_decode($_POST['cp']);
        
$pais utf8_decode($_POST['pais']);
        
$estado utf8_decode($_POST['estado']);
        
$municipio utf8_decode($_POST['municipio']);
        
//edición de cliente
        
$consulta $this->db->consulta("UPDATE facturacion SET razon_social = '".$razon."', rfc = '".$rfc."', calle = '".$calle."', num_ext = '".$numext."', num_int = '".$numint."', colonia = '".$colonia."', cp = '".$cp."', municipio = '".$municipio."', estado = '".$estado."', pais = '".$pais."'  WHERE idFacturacion = $idF");
        
        if(
$consulta == true){
            echo 
"true";
        }else{
            echo 
"Error al editar datos de factura: ".mysql_error();
        }
     }
     
     public function 
borrarCliente(){
        
//instancia a la clase _GLOBAL_ 
        
$this->db = new _GLOBAL_;
        
//conexion a base de datos
        
$this->db->conexion();
        
//id del cliente 
        
$id $_POST["idCliente"];
        
//consulta de clientes
        
$borrarFactura $this->db->consulta("DELETE FROM facturacion WHERE idCliente = $id");
         if(
$borrarFactura){
             
$borraCliente $this->db->consulta("DELETE FROM clientes WHERE idCliente = $id");
             if(
$borraCliente){
                 echo 
"true";
             }else{
                 echo 
"Error al borrar datos de cliente: ".mysql_error();     
             }
         }else{
             echo 
"Error al borrar datos de facturacion del cliente: ".mysql_error();
         }         
     }
     
 } 
De no ser asi como puedo hacer para crear una sola instancia de la clase global en este caso y que pueda utilizarla en todas las funciones la clase hija. Saludos

Última edición por kriss8725; 09/07/2011 a las 11:18