Foros del Web » Programando para Internet » PHP »

Error en clase, catchable o algo asi !%ó#$

Estas en el tema de Error en clase, catchable o algo asi !%ó#$ en el foro de PHP en Foros del Web. Bueno, como verán en el titulo, estoy algo cansado por el tiempo de intentar en resolver un problema de clases, sin lograrlo. Código PHP: class  ...
  #1 (permalink)  
Antiguo 20/09/2010, 22:03
 
Fecha de Ingreso: diciembre-2003
Ubicación: San Pedro Sula
Mensajes: 165
Antigüedad: 20 años, 4 meses
Puntos: 0
Error en clase, catchable o algo asi !%ó#$

Bueno, como verán en el titulo, estoy algo cansado por el tiempo de intentar en resolver un problema de clases, sin lograrlo.

Código PHP:

class Alumno {
                var 
$ern;
    var 
$nombre;
    var 
$apellido;    
            
    function 
__construct($ern$nom$ape)
    {     
        
$this->ern $ern
        
$this->nombre $nombre
        
$this->apellido $ape
    }
    public function 
getNombre()     {
                                 return 
$this->nombre
               }
}

Class 
Reporte {
     private 
$ern;
     public function 
getDatosAlumno$registro) {     // en teoria retorna un objeto Alumno
     
$this->ern $registro;
    require_once(
"config.php"); // crea una var $con
                            
    
$sqlCommand "SELECT nombre, apellidos FROM alumno ".
                                           
"WHERE rne = '$registro' AND estado = 'A';";        $resultado odbc_exec($con$sqlCommand);
    if (
odbc_num_rows($resultado) == 0)
    {
          die(
"No hay alumno con ese Registro!");    
    }
    else
    {
          
$nom odbc_result($resultado"nombre");
           
$ape odbc_result($resultado"apellidos");
           
                      
$alum = new Alumno($registro$nom$ape);
             echo 
$alum-->getNombre();  // NO MUESTRA NADA
                      
odbc_free_result($resultado);
          return 
$alum;
    }
    }

__________________
J. Alberto Montoya
------------------
  #2 (permalink)  
Antiguo 20/09/2010, 22:04
 
Fecha de Ingreso: diciembre-2003
Ubicación: San Pedro Sula
Mensajes: 165
Antigüedad: 20 años, 4 meses
Puntos: 0
Respuesta: Error en clase, catchable o algo asi !%ó#$

Cita:
Iniciado por albert_sps Ver Mensaje
Código PHP:
.
.
.
                      
$alum = new Alumno($registro$nom$ape);
             echo 
$alum-->getNombre();  // NO MUESTRA NADA
                      
odbc_free_result($resultado);
          return 
$alum;
.
.

__________________
J. Alberto Montoya
------------------
  #3 (permalink)  
Antiguo 20/09/2010, 22:47
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
Respuesta: Error en clase, catchable o algo asi !%ó#$

Solo necesitas usar un -> no tienes que usar dos -->.

Saludos.
  #4 (permalink)  
Antiguo 21/09/2010, 10:24
 
Fecha de Ingreso: diciembre-2003
Ubicación: San Pedro Sula
Mensajes: 165
Antigüedad: 20 años, 4 meses
Puntos: 0
Respuesta: Error en clase, catchable o algo asi !%ó#$

GatorV gracias, realmente es un error de dedo al copiar el codigo y darle tabulacion para este foro... pero no es ese el error, ese lo da el interprete como sintactico y no hay errores sintacticos.
__________________
J. Alberto Montoya
------------------
  #5 (permalink)  
Antiguo 21/09/2010, 10:40
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
Respuesta: Error en clase, catchable o algo asi !%ó#$

Cual es el error tal cual que te da PHP?

Saludos.
  #6 (permalink)  
Antiguo 23/09/2010, 22:54
 
Fecha de Ingreso: diciembre-2003
Ubicación: San Pedro Sula
Mensajes: 165
Antigüedad: 20 años, 4 meses
Puntos: 0
Respuesta: Error en clase, catchable o algo asi !%ó#$

Pues GatorV, primero no me da errores sintacticos ni semanticos, sin embargo es como que el objeto Alumno no se crea dentro de la funcion de la otra clase (Reporte), pruebo dar una salida ( echo $alum->getNombre() ) y sencillamente retorna un valor nulo, o nada.

Hice unos cambios que no recuerdo porque tuve que cambiar de estrategia por el momento, pero salio algo como "catchable error..." que nunca lo habia visto en PHP.

JM
__________________
J. Alberto Montoya
------------------
  #7 (permalink)  
Antiguo 23/09/2010, 23:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error en clase, catchable o algo asi !%ó#$

primero que nada te sugiero activar el reporte de errores completo, lee el siguiente tema:
http://www.forosdelweb.com/f142/form...0/#post2416683

en segundo lugar, dentro del método donde creas el objeto que mencionas realiza esto:
Código PHP:
$alum = new Alumno($registro$nom$ape);
var_dump($alum); 
¿que resulta?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 23/09/2010, 23:36
 
Fecha de Ingreso: diciembre-2003
Ubicación: San Pedro Sula
Mensajes: 165
Antigüedad: 20 años, 4 meses
Puntos: 0
Respuesta: Error en clase, catchable o algo asi !%ó#$

Gracias, en este momento acabo de leer un articulo con una pregunta similar a que que publiqué en este foro y sugieren crear el objeto como una propiedad de la clase si se usa dentro de otra, en este caso tendría que declarar $Alum como propiedad y llamar la funcion como $this->Alum->getNombre(). Si me resulta les aviso, de igual forma si no, usare el dump que me sugieres pate%

Slds.
__________________
J. Alberto Montoya
------------------
  #9 (permalink)  
Antiguo 26/09/2010, 21:29
 
Fecha de Ingreso: diciembre-2003
Ubicación: San Pedro Sula
Mensajes: 165
Antigüedad: 20 años, 4 meses
Puntos: 0
Respuesta: Error en clase, catchable o algo asi !%ó#$

RESUELTO:
Hola, les comunico que el error salía porque el metodo de la clase retornaba un valor que no era miembro o atributo de la clase...

La solución fue declarar var $alum como miembro de la clase y usar $this->alum en las futuras referencias al objeto.

Gracias por su ayuda.
__________________
J. Alberto Montoya
------------------

Etiquetas: clases
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 23:41.