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

array a una clase

Estas en el tema de array a una clase en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola como estan!... gracias por leer el mensaje! les cuento mi duda, tengo una clase que en varios de los metodos le paso una matriz ...
  #1 (permalink)  
Antiguo 21/02/2006, 02:55
Avatar de Bartak  
Fecha de Ingreso: enero-2004
Ubicación: Chilito
Mensajes: 121
Antigüedad: 20 años, 3 meses
Puntos: 0
array a una clase

hola como estan!... gracias por leer el mensaje!

les cuento mi duda, tengo una clase que en varios de los metodos le paso una matriz con datos... esta matriz es una variable de sesión. al principio por tiempo mande el session_start(); dentro de la clase y tomaba la matriz y listo.
conceptualmente no creo que este bien la forma en que sali del paso, por eso intente pasar la matriz al constructor y después usarla, pero fallo en recuperar los datos de la matriz. intento mostrar los datos de la matriz pero no tengo resultados. bueno... mi pregunta es ¿como tomo un array para ocuparlo en la clase?

desde ya muchas gracias

saludos


esto es + o - lo que tengo

class Malla
{
var $id_malla;
var $mostrar;
var $priv;
var $matriz = array();

function malla($id_ma,$mos,$privi,$mat,...)
{
if($id_ma==null){

$this->mostrar=$mos;
$this->priv=$privi;
$this->matriz=$mat;
....


function metodo(){
for ($x=0; $x<count($this->matriz); $x++){
echo"cod:".$this->matriz[$x][0]."";
echo"nom:".$this->matriz[$x][1]."";

....
}
}
__________________
"Llegado el momento supervisare my propia caida" - Alvaro Henriquez
  #2 (permalink)  
Antiguo 21/02/2006, 08:52
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años
Puntos: 11
Obiamente el problema no es la matriz sino la sesión.
Probá viendo los datos de la matriz desde afuera de la clase.

Saludos.
  #3 (permalink)  
Antiguo 21/02/2006, 12:06
Avatar de Bartak  
Fecha de Ingreso: enero-2004
Ubicación: Chilito
Mensajes: 121
Antigüedad: 20 años, 3 meses
Puntos: 0
desde fuera de la clase puedo ver los datos sin problemas, incluso si llamo la session dentro de la clase tambien, pero cuando paso la matriz al constructor de la clase, se pierden los datos...

$ramos_ipvg=$_SESSION['ramos_ipvg']; //esta es la mariz con los datos

$malla=new Malla("","","$privile","$ramos_ipvg"...)
$malla->crea_pivg();


el asunto es que no quiero manejar sesiones en la clase... si no que, pasar la matriz al constructor de la clase y manejar los datos donde corresponda

//---clase malla----//

class Malla
{
var $id_malla;
var $mostrar;
var $priv;
var $matriz = array();

function malla($id_ma,$mos,$privi,$mat,...)
{
if($id_ma==null){

$this->mostrar=$mos;
$this->priv=$privi;
$this->matriz=$mat;
....


function metodo(){
for ($x=0; $x<count($this->matriz); $x++){
echo"cod:".$this->matriz[$x][0]."";
echo"nom:".$this->matriz[$x][1]."";

....
}
}

saludos
__________________
"Llegado el momento supervisare my propia caida" - Alvaro Henriquez

Última edición por Bartak; 21/02/2006 a las 12:12
  #4 (permalink)  
Antiguo 21/02/2006, 13:44
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años
Puntos: 11
No encierres entre comillas los argumentos al menos que sean cadenas. Al hacer eso estás forzando la conversión del array a una cadena. Eso te produce un NOTICE pero obviamente lo debés tener deshabilitado por lo que no te das cuenta qué es lo que está ocurriendo.
Te sugiero que configures error_reporting(E_ALL); para que puedas ver errores lógicos como el que te ocurrió ahí.

Saludos.
  #5 (permalink)  
Antiguo 21/02/2006, 14:57
Avatar de Bartak  
Fecha de Ingreso: enero-2004
Ubicación: Chilito
Mensajes: 121
Antigüedad: 20 años, 3 meses
Puntos: 0
muchas gracias!!!!!
tienes toda la razon :)...

saludos
__________________
"Llegado el momento supervisare my propia caida" - Alvaro Henriquez
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 15:35.