Manual do PHP
Anterior | Capítulo 12. Variáveis | Próxima

# Variáveis Predefinidas

O PHP oferece um grande número de variáveis predefinidas para qualquer script que ele execute. Muitas destas variáveis, entretanto, não podem ser completamente documentadas uma vez dependem de diversos fatores, como o servidor no qual scripts são executados, a versão e configuração deste servidor e outros. Algumas destas variáveis não estarão disponíveis quando o PHP for executado na linha de comando. Para uma lista destas variáveis, veja a seção Variáveis reservadas.

Atenção
No PHP 4.2.0 e posteriores, o valor default da diretiva register_globals é off. Esta é a maior modificação no PHP. Tendo register_globals off afeta o conjunto de variáveis predefinidas disponíveis no escopo global. POr exemplo, para ler `DOCUMENT_ROOT` você usará `$_SERVER['DOCUMENT_ROOT']` em vez de `$DOCUMENT_ROOT`, ou `$_GET['id']` da URL `http://www.example.com/test.php?id=3` em vez de `$id`, or `$_ENV['HOME']` em vez de `$HOME`. Para informações relacionadas desta modificação, veja detalhes da diretiva register_globals, no capítulo de segurança em Usando register_globals , assim como o detalhamento de lançamento das versões do PHP 4.1.0 e 4.2.0. Utilizar as Variáveis Predefinidas do PHP, como os arrays superglobais, é muito mais preferível.

Desde a versão 4.1.0, o PHP fornece um conjunto adicional de arrays predefinidos contendo as variáveis do servidor web (se aplicável), as variáveis ambiente e as entradas do usuário. Esses novos arrays são especiais pelo motivo que são automaticamente globais (significa que são automaticamente disponíveis em qualquer escopo. Por causa disso, são também conhecidas como 'autoglobais' ou 'superglobais' (Não há um mecanismo no PHP para superglobais definidas pelo usuário) As superglobais são listadas abaixo. Entretanto, para uma explicação de seu conteúdo e detalhes sobre as variáveis predefinidas do PHP e sua natureza, veja a seção Variáveis Predefinidas. Veja também que todas as outras variáveis predefinidas antigas (`$HTTP_*_VARS`) ainda existem. A partir do PHP 5.0.0, os grandes arrays de variáveis pré-definidos podem ser desativados através da diretiva register_long_arrays .

> Variáveis variáveis: Superglobais não podem ser utilizadas como variáveis variáveis.

Se todos os indicadores não estiverem configurados no variables_order, seus arrays superglobais predefinidos respectivos estarão vazios.

Superglobais do PHP

$GLOBALS

  Contém um referência para todas as variáveis que são atualmente disponíveis dentro do escopo global do script. As chaves desse array são os nomes das variáveis globais. `$GLOBALS` existe desde o PHP 3.

$_SERVER

  Variáveis criadas pelo servidor web ou diretamente relacionadas ao ambiente de execução do script atual. Análogo ao antigo array `$HTTP_SERVER_VARS` (que ainda continua disponível, mas em decadência).

$_GET

  Variáveis postadas para o script via método HTTP GET. Análogo ao antigo array `$HTTP_GET_VARS` (que ainda continua disponível, mas em decadência).

$_POST

  Variáveis postadas para o script via método HTTP POST. Análogo ao antigo array `$HTTP_POST_VARS` (que ainda continua disponível, mas em decadência).

$_COOKIE

  Variáveis postadas para o script via cookies HTTP. Análogo ao antigo array `$HTTP_COOKIE_VARS` (que ainda continua disponível, mas em decadência).

$_FILES

  Variáveis postadas para o script via transferência de arquivos HTTP. Análogo ao antigo array `$HTTP_POST_FILES` (que ainda continua disponível, mas em decadência). Veja uploads via método POST para maiores informações.

$_ENV

  Variáveis disponíveis no script do ambiente de execução. Análogo ao antigo array `$HTTP_ENV_VARS` (que ainda continua disponível, mas em decadência).

$_REQUEST

  Variáveis postadas para o script por todas os mecanismos de input GET, POST, e COOKIE não podem ter seu conteúdo garantido de qualquer forma. A presença e a ordem de inclusão das variáveis nesse array é definida de acordo com a diretiva de configuração variables_order. Este array não tem um equivalente nas versões anteriores do PHP 4.1.0. Veja também import_request_variables().

  Cuidado
  Desde o PHP 4.3.0, informações do array `$_FILES` não existem mais no array `$_REQUEST`.

  > Nota: Quando executando na linha de comando , isto não inclui as entradas `argv` e `argc`; elas estão presentes no array `$_SERVER`.

$_SESSION

  Variáveis que estão atualmente registradas na sessão do script. Análogo ao antigo array `$HTTP_SESSION_VARS` (que ainda continua disponível, mas em decadência). Veja a sessão funções de manipulação de Sessões para maiores informações.

Anterior | Principal | Próxima
Variáveis | Acima | Escopo de variáveis