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 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 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 .

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 , e que 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( ) .

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 .