QUICK TIPS: Variáveis no PHP - Parte 2
Olá Pessoal, aqui estamos para mais uma quick tips. Na última tip (http://www.devmedia.com.br/articles/viewcomp.asp?comp=13831) começamos a falar dos escopos das variáveis no PHP. Vimos o que são as variáveis locais e globais no PHP. Ficamos de ver as variáveis superglobais e a veremos nesta tips. Então vamos a elas:
Como dito no post anterior as variáveis locais no PHP só podem ser acessadas, ou pra quem gosta, vistas de dentro da função onde foi declarada. Vimos também que as globais podem ser acessadas de qualquer lugar do script onde foram declaradas com o detalhe de que, quando desejarmos acessar uma variável global de dentro de uma função não podemos esquecer da palavra reservada global antes da variável, isso para indicar ao PHP que não estamos criando uma nova variável e sim acessando uma variável global declarada fora da função.
Pois bem, no PHP ainda existe mais um tipo de variável, e este tipo por sua vez pode ser acessado em qualquer lugar da aplicação sem a necessidade de qualquer informação adicional, estas variáveis são pré-determinadas, todas são arrays e cada uma delas tem uma função específica. Estas variáveis são chamadas de SUPER GLOBAIS.
As Superglobais são variáveis nativas que estão sempre disponíveis em todos escopos sendo assim não há necessidade de fazer global $variable; para acessá-la dentro de funções ou métodos. Eleas foram introduzidas no PHP na versão 4.1.0. Estas variáveis tem uma pequena diferença em relação as outras que é o seguinte: Você como programador, pode ao seu bel prazer, criar suas variáveis e dar a elas os nomes que bem entender. No caso das SUPER GLOBAIS os nomes são pré-definidos, são eles:
* $GLOBALS
* $_SERVER
* $_GET
* $_POST
* $_FILES
* $_COOKIE
* $_SESSION
* $_REQUEST
* $_ENV
Cada uma das variáveis acima desempenha um papel importantíssimo e facilitaram muito a programação PHP depois que fizeram parte da linguagem. Nesta Tips eu começarei a descrever cada uma das SUPER GLOBAIS, sua função e um pequeno exemplo de cada uma delas. Em todas elas eu irei inserir a definição do manual do PHP também. Então vamos iniciar nossa caminhada.
$GLOBALS - Referencia todas variáveis disponíveis no escopo global
Um array associativo contendo referências para todas as variáveis que estão atualmente definidas no escopo global do script. O nome das variáveis são chaves do array. (Manual PHP)
Analisando a definição do Manual PHP já podemos ter noção do que esta SUPER GLOBAL é capaz de fazer. Através desta SUPER GLOBAIS nós podemos acessar os valores de todas as variáveis globais declaradas no nosso script, ou seja, se estivermos dentro de uma função e tivermos a necessidade de acessar uma variável externa a ela podemos usar a palavra reservada global ou então a SUPER GLOBAIS. Como esta SUPER GLOBAIS é um array então podemos utilizar as função de manipulaçao de array para, por exemplo, descrobir quantas e quais são as variáveis globais declaradas no script. Abaixo segue um código do Manual que mostra na prática o uso desta SUPER GLOBAIS.
Repara que dentro da função é criada uma variável $foo e para ela é passado um valor. Dentro da função exibidos tanto o conteúdo desta variável quanto de uma suposta variável global também de nome foo. No corpo do script uma variáel $foo é criada, esta por sua vez é global, e logo em seguida chamados a função test(). Rode o script e repare que os dois valores serão exibidos no Browser.
Bem pessoal, vamos ficar por aqui mas na próxima Tips falaremos sobre a SUPER GLOBAL $_SERVER. Então fique ligado e até a próxima !!!