Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

estudante_php

Variável GLOBAL

Recommended Posts

Galera, pelo que entendi aqui http://www.php.net/manual/pt_BR/language.variables.superglobals.php

 

pra acessar uma variavel de escopo global basta fazer

 

$GLOBAL ['variavel']

Não necessariamente.

Sempre achei esse $GLOBAL inútil.

Se uma variável é global, você a acessa diretamente em qualquer lugar do código, com o nome dela, não precisando usar $GLOBAL

 

Aliás, se alguém conhecer uma utilidade verdadeira para essa variável - além de permitir listar todas as variáveis globais num loop (não sei por que alguém gostaria de fazer isso -, avise-me. :P

 

 

Mas em que momento se usa

 

global $variable;

??

Isso é usado quando se deseja utilizar, dentro de uma função, uma variável definida fora dela.

 

Por exemplo:

$x = 7;
function blah()
{
   echo $x;
}

 

isso vai gerar um Notice, dizendo que $x não foi definido.

 

 

Porém:

$x = 7;
function blah()
{
   global $x;
   echo $x;
}

 

isso imprime o valor 7, pois a função usa a variável $x como sendo a variável $x do escopo global, não a do escopo local da função

 

mais sobre escopo de variáveis aqui:

http://www.php.net/manual/en/language.variables.scope.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que louca essa arquitetura do PHP! RE-definir a variável no escopo mais interno pra então poder pegar seu valor original...

 

Não seria mais fácil, como em outras linguagens, definir $x de cara como global ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aliás, se alguém conhecer uma utilidade verdadeira para essa variável - além de permitir listar todas as variáveis globais num loop (não sei por que alguém gostaria de fazer isso -, avise-me. :P

 

Então, a única vantagem de usar variáveis super globais é que você pode usá-la dentro de qualquer função, por exempo, sem a necessidade de usar a palavra global. E também você pode definí-la dentro de uma função e chamá-la fora dela.

 

Exemplo:

 

$GLOBALS['nome_da_variavel'] = 'conteúdo da variável';

function nome_da_funcao() {
echo $GLOBALS['nome_da_variavel'];
}

 

Eu particularmente não uso variáveis globais, pois se precisa usar uma variável externa dentro de uma função eu prefiro passar por parametro ou torná-la global usando a palavra global dentro da função. Já para guardar dados de configuração, como paths e informações para acesso ao banco de dados, eu prefiro usar constantes. :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não seria mais fácil, como em outras linguagens, definir $x de cara como global ?

que linguagem faz isso? desconheço

 

 

Eu particularmente não uso variáveis globais, pois se precisa usar uma variável externa dentro de uma função eu prefiro passar por parametro ou torná-la global usando a palavra global dentro da função. Já para guardar dados de configuração, como paths e informações para acesso ao banco de dados, eu prefiro usar constantes. :)

Concordo plenamente.

Sempre aprendi, na teoria e na prática, que usar variáveis globais traz dor de cabeça. :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.