Retroceder   Foros del Web > Programación para sitios web > PHP > PHP orientado a objetos

Respuesta
 
Herramientas Desplegado
Antiguo 04-mar-2007, 15:52   #1 (permalink)
1000i1 no se puede cailificar en este momento
 
Fecha de Ingreso: mayo-2006
Mensajes: 38
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.
1000i1 está desconectado   Responder Citando
Antiguo 04-mar-2007, 22:21   #2 (permalink)
jahepi está en el buen camino
 
Avatar de jahepi
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 739
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!
jahepi está desconectado   Responder Citando
Antiguo 04-mar-2007, 22:21   #3 (permalink)
Moderador
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 12.597
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().
GatorV está desconectado   Responder Citando
Antiguo 04-mar-2007, 22:24   #4 (permalink)
jahepi está en el buen camino
 
Avatar de jahepi
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 739
Re: Pasar objetos entre paginas

Hola GatorV! XD

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



Un saludete !
jahepi está desconectado   Responder Citando
Antiguo 04-mar-2007, 23:12   #5 (permalink)
Moderador
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 12.597
Re: Pasar objetos entre paginas

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

Saludos!
GatorV está desconectado   Responder Citando
Antiguo 05-mar-2007, 04:19   #6 (permalink)
MarioNunes ha deshabilitado el karma
 
Avatar de MarioNunes
 
Fecha de Ingreso: agosto-2005
Mensajes: 265
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
MarioNunes está desconectado   Responder Citando
Antiguo 05-mar-2007, 08:30   #7 (permalink)
Moderador
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 12.597
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
GatorV está desconectado   Responder Citando
Antiguo 06-mar-2007, 07:32   #8 (permalink)
1000i1 no se puede cailificar en este momento
 
Fecha de Ingreso: mayo-2006
Mensajes: 38
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.
1000i1 está desconectado   Responder Citando
Antiguo 06-mar-2007, 08:07   #9 (permalink)
miketrix_esp ha deshabilitado el karma
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 382
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
miketrix_esp está desconectado   Responder Citando
Antiguo 06-mar-2007, 14:15   #10 (permalink)
Moderador
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 12.597
Re: Pasar objetos entre paginas

No es necesario usar serialize y unserialize ya que cuando tu lo guardas automaticamente se serializa en la sesion.
GatorV está desconectado   Responder Citando
Antiguo 07-mar-2007, 01:55   #11 (permalink)
miketrix_esp ha deshabilitado el karma
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 382
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
miketrix_esp está desconectado   Responder Citando
Antiguo 07-mar-2007, 07:47   #12 (permalink)
Moderador
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 12.597
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)
GatorV está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 04:29.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93