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

Dudas PHP OO

Estas en el tema de Dudas PHP OO en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, espero que me puedan ayudar. Estoy empezando con PHP orientado a objetos y tengo muchas dudas. La primera y más importante, dónde inicializar los ...
  #1 (permalink)  
Antiguo 01/12/2011, 20:07
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Dudas PHP OO

Hola, espero que me puedan ayudar.

Estoy empezando con PHP orientado a objetos y tengo muchas dudas.

La primera y más importante, dónde inicializar los objetos. Me explico...
Tengo una clase, llamémosla "Prueba", en Prueba.php con su constructor y métodos.
Tengo un index.php, que es el que se encarga de hacer todo, incluído la inicialización de objetos de la clase Prueba, que están dentro de un array $pruebas. La inicialización la hago en el head del index.php

Código PHP:
function __autoload($clase)
{
include( 
$clase.'.php');
}
$pruebas=array("ABC" => new Prueba("ABC","123"), "DEF" =>...); 

El problema surge cuando en un formulario acciono un submit. La página, al recargarse, vuelve a inicializar el objeto. Es decir, si añado una instancia nueva al array $pruebas, esta se pierde al hacer submit. O por lo menos es la sensación que me da.

Cómo solvento eso? Cómo puedo hacer que me guarde los objetos nuevos o los cambios en los existentes? Dónde he de inicializarlos?

Muchas gracias
  #2 (permalink)  
Antiguo 01/12/2011, 22:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Dudas PHP OO

PHP es un lenguaje sin estados, esto significa que no puedes persistir variables o valores entre ejecuciones de scripts a menos que uses sesiones o algo parecido.

Te sugiero investigar al respecto, hay bastante información en el foro, en las FAQ's, Wiki y manual de PHP.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 01/12/2011, 22:54
Avatar de camsworksinc  
Fecha de Ingreso: julio-2008
Ubicación: Queretaro
Mensajes: 261
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: Dudas PHP OO

La unica manera de pasar variables de una pagina a otra, o al recargar la misma pagina, es mediante el uso de sesiones. De esta forma puedes tener datos persisentes durante la sesion actual.
Por ejemplo, podrias guardar tu arreglo en una variable de sesion de la siguiente forma:
Código PHP:
Ver original
  1. $_SESSION['prueba']=array("ABC" => new Prueba("ABC","123"), "DEF" =>...);
Y cada vez que se refresque la pagina, podrias checar primero si esta variable esta ya establecida para no inicializarla nuevamente. Si no esta establecida, se inicializa.
Código PHP:
Ver original
  1. if (!isset ($_SESSION['prueba'])
  2.    $_SESSION['prueba']=array("ABC" => new Prueba("ABC","123"), "DEF" =>...);  
  3. //Se asigna la variable de sesion a la variable que nos interesa. De esta manera el valor de ella no se pierde.
  4. $prueba=$_SESSION['prueba'];

Suerte!
__________________
¡Malditas computadoras que siempre hacen lo que les DIGO que hagan, no lo que QUIERO que hagan!
  #4 (permalink)  
Antiguo 02/12/2011, 06:07
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Dudas PHP OO

Muy bien, muchas gracias :)

Dado que el submit lo hago a la misma página, ¿podría usar buttons para tal efecto?
Así siempre me mantendría en la misma página.

Si no, optaré por usar sesiones.

Muchas gracias nuevamente :D

Etiquetas: dudas, formulario, php
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 02:21.