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

Pasar objetos entre paginas

Estas en el tema de Pasar objetos entre paginas en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola otra vez, como podeis ver en estoy teniendo muchas dudas en mi arranque en la POO en php, asi que yo voy preguntando... Ahora ...
  #1 (permalink)  
Antiguo 04/03/2007, 16:52
 
Fecha de Ingreso: mayo-2006
Mensajes: 38
Antigüedad: 17 años, 11 meses
Puntos: 0
Pasar objetos entre paginas

Hola otra vez,

como podeis ver en estoy teniendo muchas dudas en mi arranque en la POO en php, asi que yo voy preguntando...

Ahora mismo tengo un gravisimo problema de mezcla de conceptos y falta de experiencia en mi cabeza que no me deja avanzar, asi que yo os explico en lo que estoy pensando y cualquier sugerencia que me podais dar sera bienvenida.

Ya se que alguno me dira que me lea tutoriales y documentos, tranquilos que ya lo hago, pero es que en este momento estoy tan saturado que espero que alguien me aporte algo de luz.

A ver, estoy implementando una sencilla pagina donde hay usuarios que tienen objetos, asi para hacer pruebas, nada que nunca se haya visto. La opcion logica desde mi punto de vista ha sido hacer la clase usuario y la clase objeto. Hasta aqui todo bien, he programado las operaciones basicas de cada clase, sus creadoras y sus consultoras. Tambien tengo una clase para gestionar la conexion con la base de datos. Hasta aqui todo bien.

Ahora viene cuando quiero hacer alguna prueba para ver resultados, me hago un index.php que simplemente crea un usuario y me muestra sus objetos que convenientemente he colocado a mano en la bd. Ahora quiero que el usuario pueda añadir mas objetos, asi que pongo un link a gestorobjetos.php, y aqui empieza el caos.... Como se desde esta pagina que usuario esta conectado, si el objeto usuario lo he creado en otra pagina... pues bien lo he puesto en $_SESSION['usuario'] pero han emepzado mis dolores de cabeza, me dice que si no es objeto, o que esta incompleto y cosas por el estilo. He leido algo sobre serialize() y lo he probado pero no me ha funcionado.

Supongo que me estoy liando a mi mismo por el hecho de no tener ni idea, asi que estare eternamente agradecido ( o al menos un par de dias) a cualquier alma caritativa que me pueda guiar un poco en todo este tema. No se, contarme como creeis que deberia hacerlo, seguro que hay mil maneras.

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 04/03/2007, 23:21
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Re: Pasar objetos entre paginas

Hola 1000i1!

Si estas guardado las referencias de tus objetos en el arreglo super global $_SESSION, asegúrate de importar las deficiones de las clases que estas utilizando antes de hacer la llamada a la función session_start.


Un saludo!
  #3 (permalink)  
Antiguo 04/03/2007, 23:21
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: Pasar objetos entre paginas

Que tal 1000i1, para pasar objetos entre paginas tienes que incluir la definicion de tu clase antes, algo asi:

pagina1.php:
Código PHP:
include("/path/a/tu/clase.php");
session_start();
$miobjeto = new objeto();
$_SESSION['miobjeto'] = $miobjeto
pagina2.php:
Código PHP:
include("/path/a/tu/clase.php");
session_start();
$miobjeto $_SESSION['miobjeto'];
$miobjeto->hazalgo(); 
como ves primero incluyes tu clase, y luego llamas a session_start().
  #4 (permalink)  
Antiguo 04/03/2007, 23:24
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Re: Pasar objetos entre paginas

Hola GatorV! XD

Parece que hemos quedado de acuerdo en poner el mensaje al mismo tiempo



Un saludete !
  #5 (permalink)  
Antiguo 05/03/2007, 00:12
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: Pasar objetos entre paginas

jaja, no mucho hay un desface de 20 segundos que me ganaste

Saludos!
  #6 (permalink)  
Antiguo 05/03/2007, 05:19
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: Pasar objetos entre paginas

Aprovechando el hilo... en php5 no hay algo para hacer esto en vez de pasar los objetos en variables de session?

Un saludo.
__________________
www.pensandoenred.com
  #7 (permalink)  
Antiguo 05/03/2007, 09:30
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: Pasar objetos entre paginas

No no la hay, asi fue diseniado PHP desde el principio, por cada request se crean instancias del programa, y para solucionar el trasladar variables se usan sesiones, ya sea en disco, memoria o en una base de datos.

Saludos
  #8 (permalink)  
Antiguo 06/03/2007, 08:32
 
Fecha de Ingreso: mayo-2006
Mensajes: 38
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: Pasar objetos entre paginas

Jeje, tampoco hace falta que os peleis para contestar primero :P!!

Bueno logicamente, como en el 99.9% de los casos la solucion mas extremadamente facil era la buena, no era question de hacer cosas raras, sino simples pero bien, los includes delante del session start son una buena cosa...

Bueno cuando haga otra tonteria y me falle la pagina ya os lo hare saber.
  #9 (permalink)  
Antiguo 06/03/2007, 09:07
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 384
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Pasar objetos entre paginas

la forma en que lo uso es como comenta GatorV salvo que antes de guardarlo en la variable de sesion, uso el serialize(). Y lo mismo para recuperarlo, uso el unserialize().
__________________
m!ketrix
CINE25 - Red Social de Cine
byinspiroh
  #10 (permalink)  
Antiguo 06/03/2007, 15:15
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: Pasar objetos entre paginas

No es necesario usar serialize y unserialize ya que cuando tu lo guardas automaticamente se serializa en la sesion.
  #11 (permalink)  
Antiguo 07/03/2007, 02:55
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 384
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Pasar objetos entre paginas

A si? No lo sabia. Pero lo guarda automaticamente siempre o depende de la configuracion del php.ini y la version? Ante la duda quizas seria mejor incluir el serialize()...
__________________
m!ketrix
CINE25 - Red Social de Cine
byinspiroh
  #12 (permalink)  
Antiguo 07/03/2007, 08: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
Re: Pasar objetos entre paginas

Siempre lo guarda, es un comportamiento nativo, si tienes acceso al server podrias abrir uno de los archivos temporales de sesion y veras que el objeto se guarda de la misma forma que con serialize.

(o sea lo que se guarda es una representacion de string del objeto)
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 08:13.