Foros del Web » Programando para Internet » PHP »

Leer datos en una clase. [Solucionado]

Estas en el tema de Leer datos en una clase. [Solucionado] en el foro de PHP en Foros del Web. Hola!: Solucionado : Poner include antes de que el session_start. Os comento un problema que me tiene algo desesperado. Debe ser algo sencillo, pero como ...
  #1 (permalink)  
Antiguo 06/09/2010, 13:33
 
Fecha de Ingreso: noviembre-2007
Mensajes: 19
Antigüedad: 16 años, 4 meses
Puntos: 0
Exclamación Leer datos en una clase. [Solucionado]

Hola!:

Solucionado: Poner include antes de que el session_start.

Os comento un problema que me tiene algo desesperado. Debe ser algo sencillo, pero como no suelo hacer uso de clases me trae loco.
El caso es que quería hacer uso de un tipo struct como en C. Así que definí la siguiente clase:

Código:
struct { //Productos
var $ref;
var $talla;
var $precio;
var $oferta;
var $color= array(); //Maximo 10 colores
	
	function guarda($valor,$i){
	 $this->color[$i]=$valor;
	}
	function lee($i){
	 return $this->color[$i];
	}
}
El caso es que si hago por ejemplo test.php:
Código:
//test.php
sesssion_start();

/* Opcion 1: Clase incluída*/
// Aquí iría class struct 

/*Opción 2: clase en otro archivo*/
// include_once('struct_class.php'); //Archivo con la clase struct.

if ($_GET[inicia]=='yes') //Inicializo valores
{
unset($_SESSION['cart']);
$_SESSION['cart']=array();
$_SESSION['cart']['28314']= new struct;

$_SESSION['cart']['28314']->ref=20;
$_SESSION['cart']['28314']->talla='Unica';
$_SESSION['cart']['28314']->guarda('uno',0);//guardo color[0]=uno
}

echo 'REF: '.$_SESSION['cart']['28314']->ref;
echo 'Color: '.$_SESSION['cart']['28314']->lee(1); // Accedo mediante método
echo 'Color: '.$_SESSION['cart']['28314']->color[1]; //Accedo de forma directa
De esta forma La opción uno funciona correctamente tanto con inicia=yes o sin incia. Pero la opción 2(clase en otro archivo) al inicializar muestra los valores. Pero al acceder a la variable iniciada anteriormente no muestra los valores.

Output:
Opción 1: inicia =yes y sin inicia=yes
REF: 20 Precio: 2.2 Color: uno Color: uno
Opción 2: incia= yes
REF: 20 Precio: 2.2 Color: uno Color: uno
Opción 2: sin inicia
REF: Precio: Color: Color:


Me trae de cabeza, podéis echarme una mano? Muchas gracias

Última edición por obeiix; 06/09/2010 a las 13:44 Razón: Tema solucionado.

Etiquetas: class, include
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 13:05.