Variáveis de sistema em PHP

Dada a sua natureza de linguagem do lado do servidor, PHP é capaz de nos dar acesso a toda uma série de variáveis que nos informam sobre o nosso servidor e sobre o cliente. A informação destas variáveis é atribuída pelo servidor e em nenhum caso nos é possível modificar os seus valores diretamente mediante o script. Para fazê-lo é necessário influir sobre a propriedade que definem.

Existem várias variáveis deste tipo, algumas sem utilidade aparente e outras realmente interessantes e com uma aplicação direta para o nosso site. Aqui enumeramos algumas destas variáveis e a informação que nos oferecem:

Variável Descrição
$HTTP_USER_AGENT Informa-nos principalmente sobre o sistema operativo e tipo e versão do navegador utilizado pelo cibernauta. A sua principal utilidade radica em que, a partir desta informação, podemos redireccionar os nossos usuários para páginas optimizadas para o seu navegador ou realizar qualquer outro tipo de ação no contexto de um navegador determinado.
$HTTP_ACCEPT_LANGUAGE Retorna-nos a ou as abreviações da língua considerada como principal pelo navegador. Esta língua ou línguas principais podem ser escolhidas no menu de opções do navegador. Esta variável torna-se também extremamente útil para enviar o cibernauta às páginas na sua língua, se é que existem.
$HTTP_REFERER Indica-nos a URL com a qual o cibernauta teve acesso a página. Muito interessante para gerar botões de “atrás” dinâmicos ou para criar os nossos próprios sistemas estatísticos.
$PHP_SELF Retorna-nos uma cadeia com a URL do script que está a ser executado. Muito interessante para criar botões para recarregar a página.
$HTTP_GET_VARS Trata-se de um array que armazena os nomes e os conteúdos das variáveis enviadas ao script por URL ou por formulários GET.
$HTTP_POST_VARS Trata-se de um array que armazena os nomes e os conteúdos das variáveis enviadas ao script por meio de um formulário POST.
$HTTP_COOKIES_VARS Trata-se de um array que armazena os nomes o os conteúdos das cookies. Veremos o que são mais tarde.
$PHP_AUTH_USER Armazena a variável usuário quando se efectua a entrada a páginas de acesso restringido. Combinado com $PHP_AUTH_PW é ideal para controlar o acesso às páginas internas do site.
$PHP_AUTH_PW Armazena a variável password quando se efectua a entrada a páginas de acesso restringido. Combinado com $PHP_AUTH_USER é ideal para controlar o acesso às páginas internas do site.
$REMOTE_ADDR Mostra o endereço IP do visitante.
$DOCUMENT_ROOT Retorna-nos o path físico no qual se encontra alojada a página no servidor.
$PHPSESSID Guarda o identificador da sessão do usuário. Veremos mais à frente o que são as sessões.

Nem todas as variáveis estão disponíveis na totalidade dos servidores ou em determinadas versões dum mesmo servidor. Ademais, algumas delas tem de ser previamente activadas ou definidas por meio de algum evento. Assim, por exemplo, a variável $HTTP_REFERER não está definida a menos que o cibernauta aceda ao script a partir de um link desde outra página.

Variáveis superglobais

A partir de PHP 4.1.0, dispõem-se de um conjunto de variáveis de tipo array que mantêm informação do sistema, chamadas superglobais porque se definem automaticamente num âmbito global.

Estas variáveis fazem referência ás mesmas que se acediam antes por meio dos arrays do tipo $HTTP_*_VARS. Estas ainda existem, ainda que a partir de PHP 5.0.0 podem-se desactivar com a diretiva register_long_arrays.

A lista destas variáveis, extraída directamente da documentação de PHP é a seguinte:

$GLOBALS

Contem uma referência a cada variável disponível no espectro das variáveis do script. As chaves desta matriz são os nomes das variáveis globais. $GLOBALS existe desde PHP 3.

$_SERVER

Variáveis definidas pelo servidor web ou directamente relacionadas com o entorno onde se está a executar.Análoga a antiga matriz $HTTP_SERVER_VARS (a qual ainda está disponível, ainda que não se utilize).

$_GET

Variáveis proporcionadas ao script por meio de HTTP GET. Análoga a antiga matriz $HTTP_GET_VARS (que ainda está disponível, ainda que não se utilize).

$_POST

Variáveis proporcionadas ao script por meio de HTTP POST. Análoga a antiga matriz $HTTP_POST_VARS (que ainda está disponível, ainda que não se utilize).

$_COOKIE

Variáveis proporcionadas ao script por meio de HTTP cookies. Análoga a antiga matriz $HTTP_COOKIE_VARS (que ainda está disponível, ainda que não se utilize).

$_FILES

Variáveis proporcionadas ao script por meio da subida de ficheiros via HTTP. Análoga a antiga matriz $HTTP_POST_FILES (que ainda está disponível, ainda que não se utilize).

$_ENV

Variáveis proporcionadas ao script por meio do entorno. Análoga a antiga matriz $HTTP_ENV_VARS (que ainda está disponível, ainda que não se utilize).

$_REQUEST

Variáveis proporcionadas ao script por meio de qualquer mecanismo de entrada do usuário e portanto não se pode confiar nelas. A presença e a ordem em que aparecem as variáveis nesta matriz são definidas pela directiva de configuração variables_order. Esta matriz não tem um análogo em versões anteriores a PHP 4.1.0. Veja também import_request_variables().

$_SESSION

Variáveis registradas na sessão do script. Análoga a antiga matriz $HTTP_SESSION_VARS (que ainda está disponível, ainda que não se utilize).

Fonte: http://www.criarweb.com/artigos/81.php

Deixe um comentário