cvs: phpdoc-pt_BR / language-snippets.ent /appendices reserved.xml /chapters config.xml /features commandline.xml /language control-structures.xml
variables.xml

From: Date: Mon, 17 Jun 2002 02:56:31 +0000
Subject: cvs: phpdoc-pt_BR / language-snippets.ent /appendices reserved.xml /chapters config.xml /features commandline.xml /language control-structures.xml
variables.xml
Groups: php.doc 
Request: Send a blank email to phpdoc+get-969346519@lists.php.net to get a copy of this message
ae Sun Jun 16 22:56:31 2002 EDT Modified files: /phpdoc-pt_BR/language variables.xml control-structures.xml /phpdoc-pt_BR/appendices reserved.xml /phpdoc-pt_BR language-snippets.ent /phpdoc-pt_BR/chapters config.xml /phpdoc-pt_BR/features commandline.xml Log: weekend update

Index: phpdoc-pt_BR/language/variables.xml diff -u phpdoc-pt_BR/language/variables.xml:1.8 phpdoc-pt_BR/language/variables.xml:1.9 --- phpdoc-pt_BR/language/variables.xml:1.8 Sun May 19 22:34:33 2002 +++ phpdoc-pt_BR/language/variables.xml Sun Jun 16 22:56:16 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- EN-Revision: 1.46 Maintainer: ae Status: ready --> +<!-- EN-Revision: 1.49 Maintainer: ae Status: ready --> <chapter id="language.variables"> <title>Variáveis</title> @@ -156,6 +156,12 @@ <link linkend="reserved.variables">Variáveis Predefinidas</link>. </simpara> + <para> + Se todos os indicadores não estiverem configurados no <link + linkend="ini.variables-order">variables_order</link>, seus + arrays superglobais respectivos estarão vazios. + </para> + <variablelist id="language.variables.superglobals"> <title>Superglobais do PHP</title> <varlistentry> @@ -316,7 +322,7 @@ funções sem sobreescrever uma eventual definição local. Isto causa problemas quando as pessoas mudam inadivertidamente uma variável global. No PHP, as variáveis globais precisam ser - declaradas globais dentro de uma função se ela vai ser utilizada + declaradas globais dentro de uma função se ela vai ser utilizada naquela função. Um exemplo: </simpara> @@ -453,6 +459,111 @@ </programlisting> </informalexample> + <simpara> + O Zend Engine 1, base do <literal>PHP4</literal>, implementa os + modificadores <literal>static</literal> e <literal>global</literal> para + variáveis em termos de referência. Por exemplo, uma variável global + importada dentro do escopo de uma função com a instrução <literal>global</literal> + atualmente cria uma referência para a variável global. Isto pode causar + comportamentos impresíveis para os seguintes casos: + </simpara> + + <informalexample> + <programlisting role="php"> +<![CDATA[ +function test_global_ref() { + global $obj; + $obj = &new stdclass; +} + +function test_global_noref() { + global $obj; + $obj = new stdclass; +} + +test_global_ref(); +var_dump($obj); +test_global_noref(); +var_dump($obj); +]]> + </programlisting> + </informalexample> + + <simpara> + Executando esse exemplo você terá as seguites saídas: + </simpara> + + <screen> +NULL +object(stdClass)(0) { +} + </screen> + + <simpara> + Uma situação similar se aplica ao modificador <literal>static</literal>. + Referências não são armazenadas estaticamente: + </simpara> + + <informalexample> + <programlisting role="php"> +<![CDATA[ +function &get_instance_ref() { + static $obj; + + echo "Objeto estatico: "; + var_dump($obj); + if (!isset($obj)) { + // Assimila uma referencia a variavel estatica + $obj = &new stdclass; + } + $obj->property++; + return $obj; +} + +function &get_instance_noref() { + static $obj; + + echo "Objeto estatico: "; + var_dump($obj); + if (!isset($obj)) { + // Assimila o objeto para a veriavel estatica + $obj = new stdclass; + } + $obj->property++; + return $obj; +} + +$obj1 = get_instance_ref(); +$still_obj1 = get_instance_ref(); +echo "\n"; +$obj2 = get_instance_noref(); +$still_obj2 = get_instance_noref(); +]]> + </programlisting> + </informalexample> + + <simpara> + Executando esse exemplo você terá as seguites saídas: + </simpara> + + <screen> +Objeto estatico: NULL +Objeto estatico: NULL + +Objeto estatico: NULL +Objeto estatico: object(stdClass)(1) { + ["property"]=> + int(1) +} + </screen> + + <simpara> + Este exemplo demonstra que quando assimilando uma referência para uma variável + estática, ela <emphasis>não se lembra</emphasis> quando você chama a função + <literal>&amp;get_instance_ref()</literal> uma segunda vez. + </simpara> + + </sect1> <sect1 id="language.variables.variable"> @@ -550,9 +661,9 @@ PHP. Se a diretiva de configuração <link linkend="ini.track-vars">track_vars</link> estiver ativada, então essas variáveis estarão localizadas nos arrays associativos - <varname>$HTTP_POST_VARS</varname>, - <varname>$HTTP_GET_VARS</varname> e/ou - <varname>$HTTP_POST_FILES</varname>, de acordo com + <varname>$_POST</varname>, + <varname>$_GET</varname> e/ou + <varname>$_FILES</varname>, de acordo com a fonte da variável em questão. </simpara> @@ -579,7 +690,7 @@ <para> Quando o formulário é submetido, o valor da caixa de texto estará disponível em - <varname>$HTTP_POST_VARS['username']</varname>. Se a diretiva de configuração <link + <varname>$_POST['username']</varname>. Se a diretiva de configuração <link linkend="ini.register-globals">register_globals</link> estiver ativada, então a estará disponível a variável <varname>$username</varname> no escopo global. Index: phpdoc-pt_BR/language/control-structures.xml diff -u phpdoc-pt_BR/language/control-structures.xml:1.7 phpdoc-pt_BR/language/control-structures.xml:1.8 --- phpdoc-pt_BR/language/control-structures.xml:1.7 Sat Jun 1 10:10:02 2002 +++ phpdoc-pt_BR/language/control-structures.xml Sun Jun 16 22:56:17 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- EN-Revision: 1.58 Maintainer: ae Status: ready --> +<!-- EN-Revision: 1.59 Maintainer: ae Status: ready --> <chapter id="control-structures"> <title>Estruturas de Controle</title> @@ -1077,6 +1077,7 @@ <function>require</function> apenas ocorre uma vez. </simpara> </note> + &warn.no-win32-fopen-wrapper; <simpara> Veja também: <function>include</function>, <function>require_once</function>, <function>include_once</function>, <function>eval</function>, @@ -1191,6 +1192,7 @@ será executado no servidor remoto e apenas seu resultado será incluído no script local. </simpara> + &warn.no-win32-fopen-wrapper; <para> <example> <title><function>include</function> através de HTTP</title> @@ -1355,6 +1357,7 @@ <function>require_once</function> foi acrescentado a partir PHP 4.0.1pl2 </para> </note> + &warn.no-win32-fopen-wrapper; <para> Veja também: <function>require</function>, <function>include</function>, <function>include_once</function>, @@ -1392,6 +1395,7 @@ <function>include_once</function> foi acrescentado a partir PHP 4.0.1pl2 </para> </note> + &warn.no-win32-fopen-wrapper; <para> Veja também: <function>include</function>, <function>require</function>, <function>require_once</function>, Index: phpdoc-pt_BR/appendices/reserved.xml diff -u phpdoc-pt_BR/appendices/reserved.xml:1.6 phpdoc-pt_BR/appendices/reserved.xml:1.7 --- phpdoc-pt_BR/appendices/reserved.xml:1.6 Sun May 19 23:11:12 2002 +++ phpdoc-pt_BR/appendices/reserved.xml Sun Jun 16 22:56:26 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- EN-Revision: 1.21 Maintainer: ae Status: ready --> +<!-- EN-Revision: 1.23 Maintainer: ae Status: ready --> <appendix id="reserved"> <title>Palavras reservadas do PHP</title> @@ -199,6 +199,12 @@ <entry> <link linkend="control-structures.while">while</link> </entry> + <entry> + <constant>__FUNCTION__</constant> + </entry> + <entry> + <constant>__CLASS__</constant> + </entry> </row> </tbody> </tgroup> @@ -551,6 +557,36 @@ <simpara> O URI fornecido para acessar a página atual, por exemplo, '<literal>/index.html</literal>'. + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>'<varname>PHP_AUTH_USER</varname>'</term> + <listitem> + <simpara> + Quando executando sob o Apache como módulo e fazendo autenticaçào HTTP, esta + variável estará definida com o username fornecido pelo usuário. + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>'<varname>PHP_AUTH_PW</varname>'</term> + <listitem> + <simpara> + Quando executando sob o Apache como módulo e fazendo autenticaçào HTTP, esta + variável estará definida com a senha fornecida pelo usuário. + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>'<varname>PHP_AUTH_TYPE</varname>'</term> + <listitem> + <simpara> + Quando executando sob o Apache como módulo e fazendo autenticaçào HTTP, esta + variável estará definida com o tipo de autenticação utilizado. </simpara> </listitem> </varlistentry> Index: phpdoc-pt_BR/language-snippets.ent diff -u phpdoc-pt_BR/language-snippets.ent:1.8 phpdoc-pt_BR/language-snippets.ent:1.9 --- phpdoc-pt_BR/language-snippets.ent:1.8 Tue Apr 30 10:53:05 2002 +++ phpdoc-pt_BR/language-snippets.ent Sun Jun 16 22:56:27 2002 @@ -1,23 +1,29 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- EN-Revision: 1.25 Maintainer: andre_ae Status: ready --> -<!ENTITY warn.experimental '<warning><simpara>Este módulo é +<!-- EN-Revision: 1.26 Maintainer: ae Status: ready --> +<!ENTITY warn.experimental '<warning><simpara>Este módulo é <emphasis>EXPERIMENTAL</emphasis>. Isso quer dizer que o comportamento destas funções e seus nomes, incluindo TUDO o que está documentado aqui -pode mudar em futuras versões do PHP, SEM QUALQUER NOTIFICAÇÃO. -Esteja avisado, e use este módulo por sua própria conta e +pode mudar em futuras versões do PHP, SEM QUALQUER NOTIFICAÇÃO. +Esteja avisado, e use este módulo por sua própria conta e risco.</simpara></warning>'> -<!ENTITY warn.experimental.func '<warning><simpara>Esta função é -<emphasis>EXPERIMENTAL</emphasis>. Isso quer dizer que o comportamento desta função -e seu nome, incluindo TUDO o que está documentado aqui -pode mudar em futuras versões do PHP, SEM QUALQUER NOTIFICAÇÃO. +<!ENTITY warn.experimental.func '<warning><simpara>Esta função é +<emphasis>EXPERIMENTAL</emphasis>. Isso quer dizer que o comportamento desta função +e seu nome, incluindo TUDO o que está documentado aqui +pode mudar em futuras versões do PHP, SEM QUALQUER NOTIFICAÇÃO. Esteja avisado, e use esta função por sua própria conta e risco.</simpara></warning>'> -<!ENTITY warn.undocumented.func '<warning><simpara>Esta função -não está documentada, somente a lista de argumentos está +<!ENTITY warn.undocumented.func '<warning><simpara>Esta função +não está documentada, somente a lista de argumentos está disponível.</simpara></warning>'> -<!ENTITY tip.ob-capture '<tip><simpara>Como toda saída é normalmente +<!ENTITY warn.no-win32-fopen-wrapper '<warning><para>Atualmente a +versão do <literal>PHP</literal> para Windows não suporta acesso a +arquivos remotos para esta função, mesmo se +<link linkend="ini.allow-url-fopen">allow_url_fopen</link> estiver ativado. +</para></warning>'> + +<!ENTITY tip.ob-capture '<tip><simpara>Como toda saída é normalmente enviada direto para o browser, você pode usar as <link linkend="ref.outcontrol">Funções de Controle de Output</link> para capturar o resultado e guardá-lo (por exemplo) em uma Index: phpdoc-pt_BR/chapters/config.xml diff -u phpdoc-pt_BR/chapters/config.xml:1.13 phpdoc-pt_BR/chapters/config.xml:1.14 --- phpdoc-pt_BR/chapters/config.xml:1.13 Sat Jun 1 10:10:40 2002 +++ phpdoc-pt_BR/chapters/config.xml Sun Jun 16 22:56:29 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- EN-Revision: 1.55 Maintainer: ae Status: ready --> +<!-- EN-Revision: 1.57 Maintainer: ae Status: ready --> <chapter id="configuration"> <title>Configuração</title> @@ -10,8 +10,20 @@ O arquivo de configuração (chamado <filename>php3.ini</filename> no PHP 3.0, e simplesmente &php.ini; no PHP 4.0) é lido quando o PHP inicia. Para as versões de módulos de servidor do PHP, - isso só acontece uma vez quando o servidor é iniciado. Para a versão - <acronym>CGI</acronym> acontece em cada chamada.</simpara> + isso só acontece uma vez quando o servidor é iniciado. Para as versões + <acronym>CGI</acronym> e <acronym>CLI</acronym> acontece em + cada execução. + </simpara> + <para> + A localização padrão do &php.ini; é uma opção de compilação (veja a <link + linkend="faq.installation.phpini">FAQ</link> correspondente), mas pode ser modificada + para as versões <acronym>CGI</acronym> e <acronym>CLI</acronym> com o opcional + <literal>-c</literal> (mais informações em + <link linkend="features.commandline">utilizando + o PHP na linha de comando</link>). Você também pode utilizar a + variavável ambiente <literal>PHPRC</literal> para colocar caminhos adicionais + para procura do &php.ini;. + </para> <para> <example> <title>&php.ini; example</title> @@ -157,6 +169,14 @@ isable-url-fopen-wrapper</parameter></link> na configuração (configure). </para> </note> + <warning> + <para> + No Windows, as seguintes funções não suportam o acesso a arquivos + remotos: <function>include</function>, + <function>include_once</function>, <function>require</function> e + <function>require_once</function>. + </para> + </warning> </listitem> </varlistentry> Index: phpdoc-pt_BR/features/commandline.xml diff -u phpdoc-pt_BR/features/commandline.xml:1.2 phpdoc-pt_BR/features/commandline.xml:1.3 --- phpdoc-pt_BR/features/commandline.xml:1.2 Sun May 19 23:11:13 2002 +++ phpdoc-pt_BR/features/commandline.xml Sun Jun 16 22:56:31 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- EN-Revision: 1.5 Maintainer: ae Status: ready --> +<!-- EN-Revision: 1.8 Maintainer: ae Status: ready --> <chapter id="features.commandline"> <title>Usando o PHP na linha de comando</title> <!-- NEW DOCUMENTATION STARTS --> @@ -112,6 +112,65 @@ </listitem> <listitem> <para> + Para facilicar a operação no ambiente shell, as seguintes constantes + estão definidas: + <table> + <title>Constantes específicas CLI</title> + <tgroup cols="2"> + <thead> + <row> + <entry>Constante</entry> + <entry>Descrição</entry> + </row> + </thead> + <tbody> + <row> + <entry><constant>STDIN</constant></entry> + <entry> + Um stream já aberto para o <literal>stdin</literal>. Isto economiza + ter de abrí-lo com + <programlisting role="php"> +$stdin = fopen('php://stdin', 'r'); + </programlisting> + </entry> + </row> + <row> + <entry><constant>STDOUT</constant></entry> + <entry> + Um stream já aberto para o <literal>stdout</literal>. Isto economiza + ter de abrí-lo com + <programlisting role="php"> +$stdout = fopen('php://stdout', 'w'); + </programlisting> + </entry> + </row> + <row> + <entry><constant>STDERR</constant></entry> + <entry> + Um stream já aberto para o <literal>stderr</literal>. Isto economiza + ter de abrí-lo com + <programlisting role="php"> +$stderr = fopen('php://stderr', 'w'); + </programlisting> + </entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + Considerando isso, você não precisará mais abrí-los, por exemplo o + <literal>stderr</literal> você mesmo, mas simplesmente usar a constante em vez + do recurso stream: + <programlisting role="php"> +php -r 'fwrite(STDERR, "stderr\n");' + </programlisting> + Você não precissa fechar explicitamente esses streams. Isto é realizado automaticamente + pelo <literal>PHP</literal>. + </para> + </listitem> + <listitem> + <para> A <literal>CLI SAPI</literal> <emphasis role="strong">não</emphasis> modifica o diretório de execução atual para o diretório onde o script é interpretado! @@ -120,7 +179,7 @@ Exemplo mostrando a diferença da <literal>CGI SAPI</literal>: <programlisting role="php"> <![CDATA[ -<? +<?php /* Nossa aplicação de teste */ echo getcwd(), "\n"; ?> @@ -311,7 +370,7 @@ <programlisting role="php"> <![CDATA[ #!/usr/bin/php -<? +<?php var_dump($argv); ?> ]]> @@ -517,7 +576,7 @@ <note> <para> Esta opção não trabalha com a opção <literal>-r</literal> - + </para> </note> </entry>
« previous php.doc (#969346519) next »