Variável SuperGlobal PHP
- VARIÁVEL $GLOBALS
A superglobal $GLOBALS, contém uma referência para todas as variáveis que são atualmente disponíveis dentro do escopo global do script, mas o que seria esse escopo?
ESCOPO DE VARIÁVEIS
O escopo de uma variável é o contexto onde ela foi definida.
EXEMPLO ABAIXO:
Execute o script acima e você terá uma surpresa. Nenhum valor foi exibido, correto? Mas, porque isso acontece?
Bem, é aí que entra o esquema de escopo de variáveis, onde vamos ter variáveis globais ou locais.
Analisando o script acima, vemos que a variável $str1, $str2 é de escopo global e a variável $soma, $str1, $str2 que está dentro da function mostra_valor() é local, portanto, são variáveis totalmente diferentes.
MUDANDO O SCRIPT
Para que a function enxergue as variáveis como sendo globais, podemos fazer isso de 2 maneiras:
EXEMPLO 1:
Nesse exemplo, estou dizendo que as variáveis que estão declaradas dentro da function são de escopo global.
EXEMPLO 2:
Nesse exemplo, faremos uso da superglobal $GLOBALS, veja como é fácil:
Executando os 2 exemplos acima, teremos como resultado, o valor 28 impresso na tela.
- VARIÁVEL $_SERVER
A variável $_SERVER é um array que armazena informações repassadas pelo servidor web relacionadas a página que está sendo executada.
Como o PHP roda em diversos servidores, que por sua vez são desenvolvidos com propósitos diferentes, pode ocorrer de nem todas as variáveis aqui citadas estarem preenchidas com o valor esperado. Pode acontecer também de haver outras variáveis não documentadas.
Descobrindo qual página foi solicitada pelo usuário: utilize $_SERVER['PHP_SELF'];
Se você salvar o código acima na pasta htdocs do seu apache e acessar como: http://localhost/minhapagina.php, irá aparecer '/minhapagina.php'.
Se ela estiver dentro de um subdiretório, o subdiretório também será listado.
Descobrindo qual o servidor que está instalado: utilize $_SERVER['SERVER_NAME'];