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

Duda : sobre POO

Estas en el tema de Duda : sobre POO en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Esta duda es con respecto a; - Como acceder desde una Clase a un array() que esta fuera de la clase? Les comento; estoy escribiendo ...
  #1 (permalink)  
Antiguo 26/01/2005, 20:22
 
Fecha de Ingreso: abril-2003
Mensajes: 26
Antigüedad: 21 años, 8 meses
Puntos: 0
Duda : sobre POO

Esta duda es con respecto a;

- Como acceder desde una Clase a un array() que esta fuera de la clase?

Les comento; estoy escribiendo un script pero tengo un array con datos de tipo int (enteros) el array se llama $nro=array("123445","456789"......);
y tengo una clase en la cual necesito acceder a los valores de este array.
En primera instancia logro acceder sin ningun problema.
Pero luego en el mismo script mas abajo , en una funcion otra vez necesito acceder al mismo array y en este caso no llego a obtener los valores...
Si copio el array cerca de la funcion ya no tengo problemas, pero tengo 2 arrays con el mismo contenido en mi script y eso me parece que no es conveniente...

Ya probe poniendole
function glob(){
global $nro;
$nro=array(1=>"0906230021_0",......);
] // consideren esto como una llave de cierre ya que no esta bien el teclado


Pero la verdad es que funciona en la funcion pero no llego a acceder al array desde la clase.
Codigo para que entiendan mejor:

<?php
include("lib1.inc.php");
$nro=array(1=>"0906230021_0","0906233710_1","09072 04848_2","0907205058_3","0907214043_4","0907214454 _5","0907214520_6","0907214558_7",
"0907214619_8","0907214730_9","0907214751_10","090 7214818_11","0907214848_12","0925133046_13","09251 33039_14","0925133030_15","0925133346_16",
"0925133339_17","0925133535_18","0925133535_19","0 925133534_20","0925133534_21","0925133533_22","092 5133652_23");

//clase
class script_js_01{
function script_js_01($nro, $a){
echo "window.mm_menu_".$nro[$a]." = new Menu(\"root\",135,13,\"Verdana, Times New Roman, Times, serif\",9,\"#ffffff\",\"#ffffff\",\"#ff6600\",\"#0 06699\",\"left\",\"middle\",3,0,50,-5,7,true,true,true,5,false,false);\n";
echo "mm_menu_".$nro[$a].".addMenuItem(\"\",\"location='http://localhost/".$pag."/?id=&idparent=".$idpar."&mostrar=G&tipo=C&cat=".$c at."&ord=".$ord."&cant=".$cant."'\");\n";
echo "mm_menu_".$nro[$a].".fontWeight=\"bold\";\n";
echo "mm_menu_".$nro[$a].".hideOnMouseOut=true;\n";
echo "mm_menu_".$nro[$a].".menuBorder=1;\n";
echo "mm_menu_".$nro[$a].".menuLiteBgColor='#ffffff';\n";
echo "mm_menu_".$nro[$a].".menuBorderBgColor='#ff6600';\n";
echo "mm_menu_".$nro[$a].".bgColor='#ffffff';\n";
}
}

//otras instrucciones
//.....

//funcion
function menu_princ(){//inicio de menu_princ

echo "<table align=\"left\" bgcolor=\"#FF9900\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"120\">\n";
$inst_01_a=new consu;
$sql_01_b=$inst_01_a->sql_01_a("n1, t1, url", "nivel1");
function cont_1()
{
static $contc=0;
$contc=$contc+1;
return $contc;
}

while($sql_01_c=hen_fetch_row($sql_01_b))
{
print "<tr>\n<td align=\"left\" valign=\"middle\" title=\"".$sql_01_c[1]."\"height=\"15\" width=\"120\">\n";
print "<a href=\"http://localhost/".$dir."/".$sql_01_c[2]."?id=60244&idparent=".$sql_01_c[0]."&mostrar=G&tipo=C&cat=".$sql_01_c[0]."&ord=".$ord."&cant=".$cant."\"\n";
print "class=\"efc1\"onMouseOut=\"MM_startTimeout(); \" onMouseOver=\"";
$a=cont_1();
print "MM_showMenu(window.mm_menu_".$nro[$a].",120,0,null,'";
print "menuproject_r".$a."_c1";
print "');";
print "\" name=\"menuproject_r".$a."_c1\">\n";
print "&nbsp;".$sql_01_c[1];
print "</a>\n";
print "</td>\n</tr>\n";

}
echo "</table>\n";
}//fin de menu_princ

menu_princ();
?>

Bueno gracias otra vez.
  #2 (permalink)  
Antiguo 27/01/2005, 11:09
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 21 años, 2 meses
Puntos: 1
me da weba leer tu codigo, pero si quieres acceder una variable desde cualquier punto puedes usar el arreglo superglobal $GLOBALS . Aunque yo no suelo hacerlo, siempre encuentro una manera mas eficiente de acceder a las variables que no se encuentran dentro de mi clase.

saludos
  #3 (permalink)  
Antiguo 27/01/2005, 11:41
hen
 
Fecha de Ingreso: diciembre-2003
Ubicación: Buenos Aires
Mensajes: 63
Antigüedad: 21 años, 1 mes
Puntos: 1
jajaja ...
voy a buscar info sobre $GLOBALS .
Igual muchas gracias
__________________
.:hEN
DevHen
EXITOS
  #4 (permalink)  
Antiguo 28/01/2005, 07:31
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 9 meses
Puntos: 4
Si yo no entendi mal vos queres acceder a un array desde un objeto; este array se encuentra en alguna parte de tu script, y no pertenece a ningun objeto en particular, simplemente es un array que "esta por ahi ...".

Yo tampoco me puse a ver tu codigo PHP, pero creo que deberiar pasarle los valores al objeto mediante algun metodo del mismo. O sea, no creo conveniente desde el objeto acceder al array "burlando" el encapsulamiento.
Segun he leido, cuando programas con POO, para algunos programadores no existen las variables globales; simplemente hay un diaologo continuo entre los objetos de tu programa.
__________________
| Cabeza De Raton |
  #5 (permalink)  
Antiguo 28/01/2005, 21:40
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 21 años, 2 meses
Puntos: 1
Cita:
Iniciado por Calisco
Si yo no entendi mal vos queres acceder a un array desde un objeto; este array se encuentra en alguna parte de tu script, y no pertenece a ningun objeto en particular, simplemente es un array que "esta por ahi ...".

Yo tampoco me puse a ver tu codigo PHP, pero creo que deberiar pasarle los valores al objeto mediante algun metodo del mismo. O sea, no creo conveniente desde el objeto acceder al array "burlando" el encapsulamiento.
Segun he leido, cuando programas con POO, para algunos programadores no existen las variables globales; simplemente hay un diaologo continuo entre los objetos de tu programa.

Correcto calisco, lo ideal es que un objeto no acceda a variables que esten fuera de su "scope", mas bien debe definir interfaces para que "el mundo exterior" se comunique con este.
Sin embargo, a veces hay que hacer "mala programaci'on" debido a necesidades inmediatas. Cuando se hace esto se debe tener mucho cuidado de no seguir extendiendo el sistema. Aunque en general, queda a criterio del programador que hacer, a final de cuentas si toma alguna mala decision se sabra a la larga.

saludos
  #6 (permalink)  
Antiguo 29/01/2005, 18:31
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 9 meses
Puntos: 4
Claro, el tema es, como programador, ser conciente que un problema conceptual como este puede llegar a tener, a largo plazo, resultados finales catastroficos.
__________________
| Cabeza De Raton |
  #7 (permalink)  
Antiguo 29/01/2005, 19:36
hen
 
Fecha de Ingreso: diciembre-2003
Ubicación: Buenos Aires
Mensajes: 63
Antigüedad: 21 años, 1 mes
Puntos: 1
Yo estoy de acuerdo con Sism en que a veces lo plazos cortos nos hacen cometer errores a la hora de programar, y la verdad que sin gente como uds que tienen la amabilidad de ayudar a otros usuarios con poca experiencia, no lograiamos ver esos tipos de errores.
Con respecto a como acceder a un array a travez de un metodo, me gustaria saber si conocen de alguna pagin para encontrar info de como hacer eso.
Gracias por su ayuda.
__________________
.:hEN
DevHen
EXITOS
  #8 (permalink)  
Antiguo 31/01/2005, 15:35
 
Fecha de Ingreso: diciembre-2004
Mensajes: 108
Antigüedad: 20 años, 1 mes
Puntos: 1
bueno no es nada que ver con el contenido del tema pero se puede decir que con el tema si yo estoy aprendiendo php pero en lo que he leido solo he visto como se hacen las paginas por medio de llamadas includes y require pero dicen que cuando se tienen montones de paginas y cada paginas lleva el mismo encabezado y pies de paginas y si algun dia se cambia el nombre es algo de problema por que se tienen que cambiar en todas las paginas no se si estoy bien pero lei en zona php que creando web modulares es mejor por que solo un archivo es que cambias pero ahora tengo esta duda probe creando el ejemplo de ahi webmodular y si se cambia el nombre a algun archivo de una sitioweb de 50 paginas el mismo dolor de cabeza sera o es mas facil a ver si alguien aqui me explica si es mejor hacerlo modular o no cual es la mejor solucion para crear una web
  #9 (permalink)  
Antiguo 02/02/2005, 06:00
Avatar de vitxo  
Fecha de Ingreso: septiembre-2003
Ubicación: Valencia
Mensajes: 219
Antigüedad: 21 años, 3 meses
Puntos: 0
Exclamación

Esto sí que no tiene nada que ver con este hilo: dav1981, ni un sólo signo de puntuación en los parrafazos que escribes. Qué duro es leerte.
  #10 (permalink)  
Antiguo 02/02/2005, 06:28
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 9 meses
Puntos: 4
Yo no lo quise decir, pero es realmente bastante dificil seguir tu parrafo.
__________________
| Cabeza De Raton |
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 03:04.