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

Primeros pasos con POO

Estas en el tema de Primeros pasos con POO en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas, estoy haciendo mis primeras armas de PHP OO. Ya venía bastante tiempo con lo procedural y hoy me encuentro en un proyecto en el ...
  #1 (permalink)  
Antiguo 09/12/2011, 12:35
Avatar de ramiro_md  
Fecha de Ingreso: septiembre-2008
Mensajes: 274
Antigüedad: 12 años, 9 meses
Puntos: 26
Primeros pasos con POO

Buenas, estoy haciendo mis primeras armas de PHP OO. Ya venía bastante tiempo con lo procedural y hoy me encuentro en un proyecto en el cual me parece piola meter mano a objetos. De paso se aprende.
El tema es que cuando hago un login, el archivo php que maneja dicho aspecto del sistema, crea un objeto de tipo "usuario" y lo manda por $_SESSION a la página correspondiente para ese usuario.
El proble está en que cuando desde esa página correspondiente intento manejar al objeto, enviándole los métodos definidos en la clase el log de errores de php devuelve lo siguiente:

Cita:
PHP Fatal error: main(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Usuario" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /var/www/School/lala.php on line 6
El archivo lala.php posee la clase incluida.
Sin más que decir, agradecería cualquier tipo de ayuda.
Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 09/12/2011, 12:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 15 años
Puntos: 2135
Respuesta: Primeros pasos con POO

Como te dice el error, debes de incluir antes de llamar a session_start() la definición de tu clase, por ejemplo:

Código PHP:
Ver original
  1. include('usuario.php');

O como dice el error crear un autoloader y definirlo antes de llamar a session_start().
  #3 (permalink)  
Antiguo 09/12/2011, 13:20
Avatar de ramiro_md  
Fecha de Ingreso: septiembre-2008
Mensajes: 274
Antigüedad: 12 años, 9 meses
Puntos: 26
Respuesta: Primeros pasos con POO

Grande campeón! salió andando. Pensé que session_start() debía ir por encima de cualquier otra sentencia. Ya veo que no era tan así.
Saludos y gracias.
  #4 (permalink)  
Antiguo 09/12/2011, 14:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 15 años
Puntos: 2135
Respuesta: Primeros pasos con POO

Solo debe de ir antes de cualquier salida al browser, ya que eso es lo que causa que ya no se puedan enviar las cabeceras.

Lee un poco del protocolo HTTP y entenderás el porque de esa razón.

Saludos.

Etiquetas: clase, pasos, php, poo, primeros
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 11:46.