<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Variáveis Predefinidas</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="Manual do PHP" HREF="index.html"><LINK REL="UP" TITLE="Variáveis" HREF="language.variables.html"><LINK REL="PREVIOUS" TITLE="Variáveis" HREF="language.variables.html"><LINK REL="NEXT" TITLE="Escopo de variáveis" HREF="language.variables.scope.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="sect1" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Manual do PHP</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="language.variables.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Capítulo 12. Variáveis</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="language.variables.scope.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="sect1" ><H1 CLASS="sect1" ><A NAME="language.variables.predefined" >Variáveis Predefinidas</A ></H1 ><P > 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 <A HREF="features.commandline.html" >linha de comando</A >. Para uma lista destas variáveis, veja a seção <A HREF="reserved.variables.html" >Variáveis reservadas</A >. </P ><DIV CLASS="warning" ><P ></P ><TABLE CLASS="warning" BORDER="1" WIDTH="100%" ><TR ><TD ALIGN="CENTER" ><B >Atenção</B ></TD ></TR ><TR ><TD ALIGN="LEFT" ><P > No PHP 4.2.0 e posteriores, o valor default da diretiva <A HREF="ini.core.html#ini.register-globals" >register_globals</A > é <SPAN CLASS="emphasis" ><I CLASS="emphasis" >off</I ></SPAN >. Esta é a maior modificação no PHP. Tendo register_globals <SPAN CLASS="emphasis" ><I CLASS="emphasis" >off</I ></SPAN > afeta o conjunto de variáveis predefinidas disponíveis no escopo global. POr exemplo, para ler <CODE CLASS="varname" >DOCUMENT_ROOT</CODE > você usará <CODE CLASS="varname" >$_SERVER['DOCUMENT_ROOT']</CODE > em vez de <CODE CLASS="varname" >$DOCUMENT_ROOT</CODE >, ou <CODE CLASS="varname" >$_GET['id']</CODE > da URL <TT CLASS="literal" >http://www.example.com/test.php?id=3</TT > em vez de <CODE CLASS="varname" >$id</CODE >, or <CODE CLASS="varname" >$_ENV['HOME']</CODE > em vez de <CODE CLASS="varname" >$HOME</CODE >. </P ><P > Para informações relacionadas desta modificação, veja detalhes da diretiva <A HREF="ini.core.html#ini.register-globals" >register_globals</A >, no capítulo de segurança em <A HREF="missing-stuff.html#security.registerglobals" >Usando register_globals </A >, assim como o detalhamento de lançamento das versões do PHP <A HREF="http://www.php.net/releases/4_1_0.php" TARGET="_top" >4.1.0</A > e <A HREF="http://www.php.net/releases/4_2_0.php" TARGET="_top" >4.2.0</A >. </P ><P > Utilizar as Variáveis Predefinidas do PHP, como os <A HREF="language.variables.predefined.html#language.variables.superglobals" >arrays superglobais</A >, é muito mais preferível. </P ></TD ></TR ></TABLE ></DIV ><P > 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 <A HREF="reserved.variables.html" >Variáveis Predefinidas</A >. Veja também que todas as outras variáveis predefinidas antigas (<CODE CLASS="varname" >$HTTP_*_VARS</CODE >) ainda existem. A partir do PHP 5.0.0, os grandes <A HREF="language.variables.predefined.html" >arrays de variáveis pré-definidos</A > podem ser desativados através da diretiva <A HREF="ini.core.html#ini.register-long-arrays" >register_long_arrays</A > . </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >Variáveis variáveis: </B > Superglobais não podem ser utilizadas como <A HREF="language.variables.variable.html" >variáveis variáveis</A >. </P ></BLOCKQUOTE ></DIV ><P > Se todos os indicadores não estiverem configurados no <A HREF="ini.core.html#ini.variables-order" >variables_order</A >, seus arrays superglobais predefinidos respectivos estarão vazios. </P ><P ></P ><DIV CLASS="variablelist" ><P ><B >Superglobais do PHP</B ></P ><DL ><DT ><A HREF="reserved.variables.html#reserved.variables.globals" >$GLOBALS</A ></DT ><DD ><P > 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. <CODE CLASS="varname" >$GLOBALS</CODE > existe desde o PHP 3. </P ></DD ><DT ><A HREF="reserved.variables.html#reserved.variables.server" >$_SERVER</A ></DT ><DD ><P > Variáveis criadas pelo servidor web ou diretamente relacionadas ao ambiente de execução do script atual. Análogo ao antigo array <CODE CLASS="varname" >$HTTP_SERVER_VARS</CODE > (que ainda continua disponível, mas em decadência). </P ></DD ><DT ><A HREF="reserved.variables.html#reserved.variables.get" >$_GET</A ></DT ><DD ><P > Variáveis postadas para o script via método HTTP GET. Análogo ao antigo array <CODE CLASS="varname" >$HTTP_GET_VARS</CODE > (que ainda continua disponível, mas em decadência). </P ></DD ><DT ><A HREF="reserved.variables.html#reserved.variables.post" >$_POST</A ></DT ><DD ><P > Variáveis postadas para o script via método HTTP POST. Análogo ao antigo array <CODE CLASS="varname" >$HTTP_POST_VARS</CODE > (que ainda continua disponível, mas em decadência). </P ></DD ><DT ><A HREF="reserved.variables.html#reserved.variables.cookies" >$_COOKIE</A ></DT ><DD ><P > Variáveis postadas para o script via cookies HTTP. Análogo ao antigo array <CODE CLASS="varname" >$HTTP_COOKIE_VARS</CODE > (que ainda continua disponível, mas em decadência). </P ></DD ><DT ><A HREF="reserved.variables.html#reserved.variables.files" >$_FILES</A ></DT ><DD ><P > Variáveis postadas para o script via transferência de arquivos HTTP. Análogo ao antigo array <CODE CLASS="varname" >$HTTP_POST_FILES</CODE > (que ainda continua disponível, mas em decadência). Veja <A HREF="features.file-upload.html#features.file-upload.post-method" >uploads via método POST</A > para maiores informações. </P ></DD ><DT ><A HREF="reserved.variables.html#reserved.variables.environment" >$_ENV</A ></DT ><DD ><P > Variáveis disponíveis no script do ambiente de execução. Análogo ao antigo array <CODE CLASS="varname" >$HTTP_ENV_VARS</CODE > (que ainda continua disponível, mas em decadência). </P ></DD ><DT ><A HREF="reserved.variables.html#reserved.variables.request" >$_REQUEST</A ></DT ><DD ><P > 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 <A HREF="ini.core.html#ini.variables-order" >variables_order</A >. Este array não tem um equivalente nas versões anteriores do PHP 4.1.0. Veja também <A HREF="function.import-request-variables.html" ><B CLASS="function" >import_request_variables()</B ></A >. </P ><DIV CLASS="caution" ><P ></P ><TABLE CLASS="caution" BORDER="1" WIDTH="100%" ><TR ><TD ALIGN="CENTER" ><B >Cuidado</B ></TD ></TR ><TR ><TD ALIGN="LEFT" ><P > Desde o PHP 4.3.0, informações do array <CODE CLASS="varname" >$_FILES</CODE > não existem mais no array <CODE CLASS="varname" >$_REQUEST</CODE >. </P ></TD ></TR ></TABLE ></DIV ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >Nota: </B > Quando executando na <A HREF="features.commandline.html" >linha de comando </A >, isto <SPAN CLASS="emphasis" ><I CLASS="emphasis" >não inclui</I ></SPAN > as entradas <CODE CLASS="varname" >argv</CODE > e <CODE CLASS="varname" >argc</CODE >; elas estão presentes no array <CODE CLASS="varname" >$_SERVER</CODE >. </P ></BLOCKQUOTE ></DIV ></DD ><DT ><A HREF="reserved.variables.html#reserved.variables.session" >$_SESSION</A ></DT ><DD ><P > Variáveis que estão atualmente registradas na sessão do script. Análogo ao antigo array <CODE CLASS="varname" >$HTTP_SESSION_VARS</CODE > (que ainda continua disponível, mas em decadência). Veja a sessão <A HREF="ref.session.html" >funções de manipulação de Sessões</A > para maiores informações. </P ></DD ></DL ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="language.variables.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Principal</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="language.variables.scope.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Variáveis</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="language.variables.html" ACCESSKEY="U" >Acima</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Escopo de variáveis</TD ></TR ></TABLE ></DIV ></BODY ></HTML >