Foros del Web » Programando para Internet » PHP »

Variables de un Array dentro de un Objeto

Estas en el tema de Variables de un Array dentro de un Objeto en el foro de PHP en Foros del Web. Hola compañeros, no encuentro o no se buscar lo que necesito preguntar en el foro. Yo tengo un array para idiomas que llamo mediante un ...
  #1 (permalink)  
Antiguo 15/12/2013, 10:38
Avatar de Benderzuelo  
Fecha de Ingreso: mayo-2013
Ubicación: España
Mensajes: 223
Antigüedad: 10 años, 10 meses
Puntos: 5
Pregunta Variables de un Array dentro de un Objeto

Hola compañeros,

no encuentro o no se buscar lo que necesito preguntar en el foro.

Yo tengo un array para idiomas que llamo mediante un require_once al principio de mi documento,

Despues con una clase llamo a un metodo que me carga unos datos desde la base de datos. El array de Idiomas se llama $INDEX y si lo imprimo directamente en el documento se imprime bien pero si hago un while dentro del método no me imprime nada. dejo un pequeño ejemplo

Código PHP:
Ver original
  1. <?php require_once('idiomaEs.php'); ?>

Si luego imprimo en el el documento de la siguiente manera me lo hace bien:

Código HTML:
Ver original
  1. <body><?php echo $INDEX['titulo'] ?></body>

Asi funciona, pero asi solo lo usaba hacia para maquetar, ahora estoy haciendo la carga desde base de datos y dentro de mi método hago lo siguiente:

Código PHP:
Ver original
  1. public function cargaDatos(){
  2.      //DESPUES DE LA CONEXION Y CONSULTA
  3.      while($row = $cnx->assoc()){
  4.          $res = $INDEX['titulo'];
  5.          //resto de datos....
  6.      }
  7.      return $res;
  8. }

Y en el documento lo que hago es lo siguiente:

Código PHP:
Ver original
  1. <?php echo $obj->cargaDatos(); ?>

Esto es un resumen muy grande, cargo muchos mas datos y todo sale bien excepto lo que cuelga del ARRAY de Idiomas

Que estoy haciendo mal?, he probado a llamar el array dentro de la clase pero me da error tambien, no puedo cargar el array dentro de la clase...

Soy muy novato con el tema de objetos, es la primera web que hago con este tipo de programación yo siempre programaba a pelo y no tenia problemas pero con esto de los objetos voy de culo¡¡

Gracias por vuestras aportaciones.
  #2 (permalink)  
Antiguo 15/12/2013, 11:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Variables de un Array dentro de un Objeto

Ni siquiera es un tema de clases y objetos.

Es un tema de contexto, y claramente el contexto de $INDEX es global por lo cual la única forma de acercarlo al método (cuyo contexto es local) podrías usar global.

Código PHP:
global $INDEX;

echo 
$INDEX['foo']; 
Pero de entrada fue una pésima idea usar una variable sabiendo las limitaciones de contexto en PHP, ¿a que jamás has leído un manual al respecto verdad?

En el mejor de los casos una función es más practica y siempre estará al alcance de cualeuier método o función.

Código PHP:
echo lang('algo'); 
PDTA: "INDEX" además es un nombre poco indicativo, muy mala practica nombrar las cosas con valores sin sentido.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 15/12/2013, 15:57
Avatar de Benderzuelo  
Fecha de Ingreso: mayo-2013
Ubicación: España
Mensajes: 223
Antigüedad: 10 años, 10 meses
Puntos: 5
Respuesta: Variables de un Array dentro de un Objeto

Cita:
Iniciado por pateketrueke Ver Mensaje
Ni siquiera es un tema de clases y objetos.

Es un tema de contexto, y claramente el contexto de $INDEX es global por lo cual la única forma de acercarlo al método (cuyo contexto es local) podrías usar global.

Código PHP:
global $INDEX;

echo 
$INDEX['foo']; 
Gracias por la Info, pero lo de global donde lo pongo?, dentro de la clase? o donde?

Cita:
Iniciado por pateketrueke Ver Mensaje
Pero de entrada fue una pésima idea usar una variable sabiendo las limitaciones de contexto en PHP, ¿a que jamás has leído un manual al respecto verdad?
No he leido nada acerca de este tema.


Cita:
Iniciado por pateketrueke Ver Mensaje
En el mejor de los casos una función es más practica y siempre estará al alcance de cualeuier método o función.

Código PHP:
echo lang('algo'); 
Tampoco entiendo lo del uso de lang

Cita:
Iniciado por pateketrueke Ver Mensaje
PDTA: "INDEX" además es un nombre poco indicativo, muy mala practica nombrar las cosas con valores sin sentido.
$INDEX tiene sentido para mí porque es el array de idiomas de index.php

El motivo de hacerlo así con el array es porque lo he visto hacer a un programador... y puesto que tiene una buena reputación de saber lo que hace pensé que era una buena práctica..

Etiquetas: objeto, variables
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:18.