Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks y PHP orientado a objetos (http://www.forosdelweb.com/f68/)
-   -   Pasar objetos entre paginas (http://www.forosdelweb.com/f68/pasar-objetos-entre-paginas-469997/)

1000i1 04/03/2007 16:52

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.

jahepi 04/03/2007 23:21

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! :adios:

GatorV 04/03/2007 23:21

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().

jahepi 04/03/2007 23:24

Re: Pasar objetos entre paginas
 
Hola GatorV! XD

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



Un saludete ! :adios:

GatorV 05/03/2007 00:12

Re: Pasar objetos entre paginas
 
jaja, no mucho hay un desface de 20 segundos que me ganaste ;-)

Saludos!

MarioNunes 05/03/2007 05:19

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.

GatorV 05/03/2007 09:30

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

1000i1 06/03/2007 08:32

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.

miketrix_esp 06/03/2007 09:07

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().

GatorV 06/03/2007 15:15

Re: Pasar objetos entre paginas
 
No es necesario usar serialize y unserialize ya que cuando tu lo guardas automaticamente se serializa en la sesion.

miketrix_esp 07/03/2007 02:55

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()...

GatorV 07/03/2007 08:47

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)


La zona horaria es GMT -6. Ahora son las 06:12.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.