ae              Thu Jun 20 19:52:51 2002 EDT

  Modified files:              
    /phpdoc-pt_BR/language      functions.xml 
  Log:
  review
  
Index: phpdoc-pt_BR/language/functions.xml
diff -u phpdoc-pt_BR/language/functions.xml:1.3 phpdoc-pt_BR/language/functions.xml:1.4
--- phpdoc-pt_BR/language/functions.xml:1.3     Wed Dec 12 15:56:35 2001
+++ phpdoc-pt_BR/language/functions.xml Thu Jun 20 19:52:50 2002
@@ -1,26 +1,39 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
+<!-- EN-Revision: 1.27 Maintainer: ae Status: ready -->
  <chapter id="functions">
   <title>Fun��es</title>
 
   <sect1 id="functions.user-defined">
    <title>Fun��es definidas pelo usu�rio</title>
- 
+
    <para>
     Uma fun��o pode ser definida usando-se a sintaxe como a seguinte:
- 
+
     <informalexample>
      <programlisting role="php">
-function foo ($arg_1, $arg_2, ..., $arg_n) {
-    echo "Fun��o-exemplo.\n";
-    return $retval;
+<![CDATA[
+function foo ($argumento_1, $argumento_2, ..., $argumento_n)
+{
+    echo "Exemplo de fun��o.\n";
+    return $valor_retornado;
 }
+]]>
      </programlisting>
     </informalexample>
    </para>
-     
+
+   <!--
+
+    status of func(const $param) ?
+    zend doesn't care at all whether or not you specify it.
+    I've never seen it before... what's its use? (or was...)
+
+    -->
+
    <simpara>
-    Qualquer c�digo PHP v�lido aparece dentro de uma fun��o, mesmo outras fun��es
+    Qualquer c�digo PHP v�lido pode aparecer dentro de uma fun��o, mesmo outras 
+fun��es
     e defini��es de <link linkend="keyword.class">classes</link>.
+    
    </simpara>
    <simpara>
     No PHP3, as fun��es precisam ser definidas antes de serem referenciadas. Esse
@@ -31,171 +44,168 @@
     alterar a defini��o de fun��es previamente declaradas.
    </simpara>
    <simpara>
-    O PHP3 n�o suporta n�mero vari�vel de argumentos para fun��es, apesar de os 
+    O PHP3 n�o suporta n�mero vari�vel de argumentos para fun��es, apesar de os
     argumentos padr�es serem suportados (veja <link
     linkend="functions.arguments.default">Valores padr�o de argumentos
     </link> para mais informa��es). O PHP4 suporta ambos: veja <link
-    linkend="functions.variable-arg-list">Listas de argumentos com comprimento
-    vari�vel</link> e as refer�ncias de fun��o de
+    linkend="functions.variable-arg-list">N�mero de argumentos
+    vari�vel</link> e as refer�ncias das fun��es
     <function>func_num_args</function>,
-    <function>func_get_arg</function>, e
+    <function>func_get_arg</function> e
     <function>func_get_args</function> para mais informa��es.
    </simpara>
 
   </sect1>
- 
+
   <sect1 id="functions.arguments">
    <title>Argumentos de fun��es</title>
- 
+
    <simpara>
-    Informa��o pode ser passada para fun��es atrav�s da lista de argumentos, que � 
uma 
+    Informa��es podem ser passadas para fun��es atrav�s da lista de argumentos, que � 
+uma
     lista de vari�veis e/ou constantes delimitados por v�rgulas.
-   </simpara> 
+   </simpara>
    <para>
      O PHP suporta a passagem de argumentos por valor (o padr�o), <link
      linkend="functions.arguments.by-reference">passagem por refer�ncia
-     </link>, e <link
+     </link> e <link
      linkend="functions.arguments.default">valores padr�o de argumento
      </link>. Listas de argumentos de comprimento vari�vel s�o suportadas apenas
-     no PHP4 e posteriores; veja <link
-     linkend="functions.variable-arg-list">Listas de argumentos de comprimento 
-     vari�vel</link> e as refer�ncias de fun��o de
+     no PHP4 e posterior; veja <link
+     linkend="functions.variable-arg-list">N�mero de argumentos
+     vari�vel</link> e as refer�ncias das fun��es
      <function>func_num_args</function>,
-     <function>func_get_arg</function>, e
+     <function>func_get_arg</function> e
      <function>func_get_args</function> para mais informa��es. Um efeito similar
-     pode ser atingido no PHP3 pela passagem de uma matriz de argumentos para uma
+     pode ser atingido no PHP 3 pela passagem de um array de argumentos para uma
      fun��o:
- 
+
     <informalexample>
      <programlisting role="php">
-function takes_array($input) {
+<![CDATA[
+function takes_array($input)
+{
     echo "$input[0] + $input[1] = ", $input[0]+$input[1];
 }
+]]>
      </programlisting>
     </informalexample>
    </para>
- 
+
    <sect2 id="functions.arguments.by-reference">
     <title>Fazendo argumentos serem passados por refer�ncia</title>
- 
+
     <simpara>
      Por padr�o, argumentos de fun��o s�o passados por valor (de forma que se
-     voc� mudar o valor do argumento dentro da fun��o, ele n�o � mudado fora
+     voc� mudar o valor do par�metro dentro da fun��o, ele n�o � alterado fora
      da fun��o). Se voc� deseja permitir que uma fun��o modifique seus argumentos,
-     voc� precisa pass�-los por refer�ncia.
+     voc� precisa pass�-los por
+     refer�ncia.
     </simpara>
     <para>
      Se voc� quer que um argumento para uma fun��o sempre seja passado por
      refer�ncia, voc� pode preceder o nome do argumento com um "e comercial" (&amp;)
      na defini��o da fun��o:
- 
+
      <informalexample>
       <programlisting role="php">
-function add_some_extra(&amp;$string) {
-    $string .= 'e algo mais.';
+<![CDATA[
+function add_some_extra(&$string)
+{
+    $string .= ' e alguma coisa mais.';
 }
-$str = 'Isto � uma string, ';
+$str = 'Isto � uma string,';
 add_some_extra($str);
-echo $str;    // outputs 'Isto � uma string, e algo mais.'
-      </programlisting>
-     </informalexample>
-    </para>
- 
-    <para>
-     Se voc� deseja passar uma vari�vel por refer�ncia a uma fun��o que n�o faz isto 
por
-     padr�o, voc� pode preceder o nome do argumento com um "e comercial" na chamada da
-     fun��o:
- 
-     <informalexample>
-      <programlisting role="php">
-function foo ($bar) {
-    $bar .= ' e algo mais.';
-}
-$str = 'Isto � uma string, ';
-foo ($str);
-echo $str;    // outputs 'Isto � uma string, '
-foo (&amp;$str);
-echo $str;    // outputs 'Isto � uma string, e algo mais.'
+echo $str;    // imprime 'Isto � uma string, e alguma coisa mais.'
+]]>
       </programlisting>
      </informalexample>
     </para>
 
    </sect2>
- 
+
    <sect2 id="functions.arguments.default">
     <title>Valores padr�o de argumentos</title>
- 
+
     <para>
      Uma fun��o pode definir valores padr�o no estilo C++ para argumentos escalares, 
como
      a seguir:
- 
+
      <informalexample>
       <programlisting role="php">
-function makecoffee ($type = "cappucino") {
-    return "Fazendo uma x�cara de $type.\n";
-}
-echo makecoffee ();
-echo makecoffee ("caf� expresso");
+<![CDATA[
+function cafeteira ($tipo = "cappuccino")
+{
+    return "Fazendo uma x�cara de caf� $type.\n";
+}
+echo cafeteira ();
+echo cafeteira ("expresso");
+]]>
       </programlisting>
      </informalexample>
     </para>
- 
+
     <para>
-     The output from the above snippet is:
- 
+     A sa�da do c�digo acima ser�:
+
      <screen>
-Fazendo uma x�cara de cappucino.
+Fazendo uma x�cara de caf� cappucino.
 Fazendo uma x�cara de caf� expresso.
      </screen>
     </para>
- 
+
     <simpara>
      O valor padr�o precisa ser uma express�o constante, n�o (por
      exemplo) uma vari�vel ou um membro de classe.
     </simpara>
     <para>
-     Note que usando argumentos padr�o, qualquer padr�o dever estar do lado
-     direito de argumentos n�o-padr�o; caso contr�rio, as coisas n�o funcionar�o
+     Note que usando argumentos padr�o, qualquer padr�o deve vir ap�s
+     os argumentos sem padr�o: caso contr�rio, as coisas n�o funcionar�o
      como esperado. Considere o seguinte trecho de c�digo:
- 
+
      <informalexample>
       <programlisting role="php">
-function makeyogurt ($type = "azeda", $flavour) {
-    return "Fazendo uma ta�a de $flavour $type.\n";
+<![CDATA[
+function iogurtera ($tipo = "azeda", $sabor)
+{
+    return "Fazendo uma ta�a de $tipo $sabor.\n";
 }
- 
-echo makeyogurt ("framboesa");   // n�o vai funcionar como o esperado
+
+echo iogurtera ("framboesa");   // n�o funciona como esperado
+]]>
       </programlisting>
      </informalexample>
     </para>
- 
+
     <para>
      A sa�da do exemplo acima �:
- 
+
      <screen>
-Warning: Missing argument 2 in call to makeyogurt() in 
+Warning: Missing argument 2 in call to iogurtera() in
 /usr/local/etc/httpd/htdocs/php3test/functest.html on line 41
 Fazendo uma ta�a de framboesa.
      </screen>
     </para>
- 
+
     <para>
      Agora, compare o que est� acima com este:
- 
+
      <informalexample>
       <programlisting role="php">
-function makeyogurt ($flavour, $type = "azeda") {
-    return "Fazendo uma ta�a de $flavour $type.\n";
+<![CDATA[
+function iogurtera ($sabor, $tipo = "azeda")
+{
+    return "Fazendo uma ta�a de $tipo $sabor.\n";
 }
- 
-echo makeyogurt ("framboesa");   // funciona como o esperado
+
+echo iogurtera ("framboesa");   // funciona
+]]>
       </programlisting>
      </informalexample>
     </para>
- 
+
     <para>
      A sa�da deste exemplo �:
- 
+
      <screen>
 Fazendo uma ta�a de framboesa azeda.
      </screen>
@@ -204,64 +214,92 @@
    </sect2>
 
    <sect2 id="functions.variable-arg-list">
-    <title>Listas de argumentos de comprimento vari�vel</title>
-       
+    <title>N�mero vari�vel de argumentos</title>
+
     <simpara>
-     O PHP4 tem suporte para listas de argumentos de comprimento vari�vel
-     nas fun��es definidas pelo usu�rio. Isto � realmente bem f�cil, usando 
+     O PHP4 tem suporte para um n�mero vari�vel de argumentos
+     nas fun��es definidas pelo usu�rio. Isto � realmente bem f�cil, usando
      as fun��es <function>func_num_args</function>,
-     <function>func_get_arg</function>, e
+     <function>func_get_arg</function> e
      <function>func_get_args</function>.
     </simpara>
 
     <simpara>
-     Nenhuma sintaxe especial � requerida, e as listas de argumentos ainda 
-     podem ser fornecidas explicitamente com as defini��es de fun��es e se
+     Nenhuma sintaxe especial � requerida, e a lista de argumentos ainda
+     pode ser fornecida explicitamente com as defini��es de fun��es e se
      comportar�o normalmente.
     </simpara>
 
    </sect2>
 
   </sect1>
- 
+
   <sect1 id="functions.returning-values">
-   <title>Returnando valores</title>
- 
+   <title>Retornando valores</title>
+
    <para>
-    Valores s�o retornados pelo uso de comandos opcionais de retorno. Qualquer
-    tipo pode ser retornado, incluindo listas e objetos.
- 
+    Valores podem ser retornados utilizando a instru��o opcional return. Qualquer
+    tipo pode ser retornado, incluindo arrays e objetos. Isto faz com que
+    as fun��o termine sua execu��o imediatamente e passa o controle de volta para
+    a linha de onde ela foi chamada. Veja a documenta��o da fun��o 
+<function>return</function>
+    para maiores informa��es.
     <informalexample>
      <programlisting role="php">
-function square ($num) {
+<![CDATA[
+function quadrado ($num)
+{
     return $num * $num;
 }
-echo square (4);   // imprime '16'.
+echo quadrado (4);   // imprime '16'.
+]]>
      </programlisting>
     </informalexample>
    </para>
-      
+
    <para>
-    Voc� n�o pode retornar m�ltiplos valores a partir de uma fun��o, mas 
-    resultados similares podem ser obtidos retornando uma lista.
- 
+    Voc� n�o pode retornar m�ltiplos valores a partir de uma fun��o, mas
+    resultados similares podem ser devolvidos retornando por uma lista.
+
     <informalexample>
      <programlisting role="php">
-function small_numbers() {
+<![CDATA[
+function numeros_pequenos()
+{
     return array (0, 1, 2);
 }
-list ($zero, $one, $two) = small_numbers();
+list ($zero, $um, $dois) = numeros_pequenos();
+]]>
      </programlisting>
     </informalexample>
    </para>
+   <para>
+    Para retornar uma refer�ncia de uma fun��o, voc� precisa utilizar
+    o operador de refer�ncia &amp; tanto na declara��o da fun��o como
+    quando assimilando o valor retornado para a vari�vel.
+    <informalexample>
+     <programlisting role="php">
+<![CDATA[
+function &retorna_referencia()
+{
+    return $alguma_referencia;
+}
 
+$nova_referencia =& retorna_referencia();
+]]>
+     </programlisting>
+    </informalexample>
+   </para>
+   <simpara>
+    Para mais detalhes sobre refer�ncias, leia a se��o <link
+    linkend="language.references">Refer�ncias</link>.
+   </simpara>
   </sect1>
- 
+
   <sect1 id="functions.old-syntax">
    <title><literal>old_function</literal></title>
- 
+
    <simpara>
-    O comando <literal>old_function</literal> permite que voc� declare uma 
+    O comando <literal>old_function</literal> permite que voc� declare uma
     fun��o usando uma sintaxe id�ntica ao PHP/FI2 (exceto pelo fato de que
     voc� precisa substituir 'function' com 'old_function').
    </simpara>
@@ -274,8 +312,8 @@
      Fun��es declaradas como <literal>old_function</literal> n�o podem ser chamadas
      a partir de c�digo interno do PHP. Entre outras coisas, isso significa que voc�
      n�o pode us�-las em fun��es como
-     <function>usort</function>, <function>array_walk</function>, e
-     <function>register_shutdown_function</function>. Voc� pode contornar essa 
+     <function>usort</function>, <function>array_walk</function> e
+     <function>register_shutdown_function</function>. Voc� pode contornar essa
      limita��o escrevendo um inv�lucro de fun��o (no formato PHP3 normal) para chamar
      o <literal>old_function</literal>.
     </para>
@@ -284,56 +322,75 @@
   </sect1>
 
   <sect1 id="functions.variable-functions">
-   <title>Variable functions</title>
+   <title>Fun��es vari�veis</title>
 
    <para>
-    O PHP suporta o conceito de fun��es vari�veis. Isto significa que se um nome de 
-    vari�vel tem par�nteses juntos como ele, o PHP procurar� uma fun��o com o mesmo
-    nome, qualquer que seja a avalia��o da vari�vel, e tentar� execut�-la. Entre 
outras
-    coisas, isto pode ser usado para implementar retornos, tabelas de fun��o e 
-    assim por diante.
+    O PHP suporta o conceito de fun��es vari�veis. Isto significa que se
+    um nome de vari�vel tem par�nteses no final dela, o PHP procurar�
+    uma fun��o com o mesmo nome, qualquer que seja a avalia��o da vari�vel,
+    e tentar� execut�-la. Entre outras coisas, isto pode
+    ser usado para implementar callbacks, tabelas de fun��o e assim por diante.
+   </para>
+   <para>
+    Fun��es vari�veis n�o funcionam com construtores de linguagem como
+    <function>echo</function>, <function>unset</function>,
+    <function>isset</function>, <function>empty</function> e
+    <function>include</function>. Entretanto, o construtor
+    <function>print</function> � uma exce��o, e ir� funcionar.
+    Este � uma das maiores diferen�as entre as fun��es do PHP e
+    os construtores de linguagem.
    </para>
-
    <para>
     <example>
      <title>Exemplo de fun��es vari�veis</title>
      <programlisting role="php">
-&lt;?php
-function foo() {
-    echo "Em foo()&lt;br>\n";
+<![CDATA[
+<?php
+function foo()
+{
+    echo "Chamou foo()<br>\n";
 }
 
-function bar( $arg = '' ) {
-    echo "Em bar(); argumento era '$arg'.&lt;br>\n";
+function bar($arg = '')
+{
+    echo "Chamou bar(); com argumento '$arg'.<br>\n";
 }
 
 $func = 'foo';
 $func();
 $func = 'bar';
-$func( 'teste' );
+$func('teste');
 ?>
+]]>
      </programlisting>
     </example>
    </para>
+   <para>
+    Veja tamb�m: <link linkend="language.variables.variable">
+    Vari�veis vari�veis</link> e <function>function_exists</function>.
+   </para>
 
   </sect1>
- 
+
  </chapter>
- 
- <!-- Keep this comment at the end of the file
- Local variables:
- mode: sgml
- sgml-omittag:t
- sgml-shorttag:t
- sgml-minimize-attributes:nil
- sgml-always-quote-attributes:t
- sgml-indent-step:1
- sgml-indent-data:t
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
 indent-tabs-mode:nil
- sgml-parent-document:nil
- sgml-default-dtd-file:"../../manual.ced"
- sgml-exposed-tags:nil
- sgml-local-catalogs:nil
- sgml-local-ecat-files:nil
- End:
- -->
+sgml-parent-document:nil
+sgml-default-dtd-file:"../../manual.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+vim600: syn=xml fen fdm=syntax fdl=2 si
+vim: et tw=78 syn=sgml
+vi: ts=1 sw=1
+-->


Reply via email to