[SOLUCIONADO] Variables globales $GLOBALS

Iniciado por leojg, Noviembre 25, 2011, 08:12:28 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Noviembre 25, 2011, 08:12:28 AM Ultima modificación: Febrero 14, 2015, 08:29:24 AM por Expermicid
Hola, como están?

Hay una duda medio sencilla pero que hace tiempo que la tengo y no encuentro demaciada información al respecto.

Es sobre el array $GLOBALS usado para guardar variables que se las quiera hacer superglobales, osea, accedibles desde todo el sistema.

Bien mi duda es si $GLOBLAS toma valores por referencia o por valor, osea, si yo guardo un objeto en el array, voy a poder acceder a sus metodos o no.

Ando confundido porque aveces accede a los metodos y otras veces no :S

No se si es que yo hago algo mal o alguna otra cosa, jaja.

Saludos.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Es sobre el array $GLOBALS usado para guardar variables que se las quiera hacer superglobales, osea, accedibles desde todo el sistema.

Estas equivocado,  te lo explico de una forma simple para que entiendas muy bien su funcionamiento.

Al declaras alguna variable dentro de una función en PHP, la variable es local, osea que solo existe en dicha función. Y desde ese ámbito (local) no puedes acceder al
contenido de variables globales (son las que están declaradas fuera de cualquier función).

Ejemplo:

Código: php
<?php
$a = 'Hola mundo';

function ejemplo() {

echo $a;
}
ejemplo();

?>


Al ejecutar el source, no daría ningún resultado, ya que el echo se realiza dentro de una función y esta llamando  a la variable local $a.

Pero si declaras una variable como global, estas indicando que estas accediendo a una variable que es global en el scripts.

ejemplo:
Código: php

<?php
$a = 'Hola mundo';//Variable declarada fuera de cualquier funcion

function ejemplo() {

global $a;
echo $a;
}
ejemplo();

?>

En este caso, indico que quiero acceder a la variable global $a, luego imprimo el valor.

En este caso, saldría: Hola mundo.

Si entiendes eso, te habrás auto-respondido la pregunta sin haberte dado la respuesta directamente.

Saludos y disculpa por la demora.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

No sé si se referirá a eso Yoya, pero las variables super globales en PHP son aquellas que se pueden usar en TODOS los "lugares" en PHP tanto funciones, clases, etc...

Las variables superglobales más conocidas son

$_SESSION
$_POST
$_GET
$_REQUEST
$_COOKIE
$_FILES // $HTTP_POST_FILES

etcétera...

Que esas si son arrays, cada una de ellas.