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
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
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.
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).
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).
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).
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).
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.
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).
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 |
Nota: Quando executando na linha de comando , isto não inclui as entradas
argv
eargc
; elas estão presentes no array$_SERVER
.
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.