mirror of
https://github.com/php/doc-pt_br.git
synced 2026-03-23 22:52:12 +01:00
291 lines
9.5 KiB
XML
291 lines
9.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: 0e618211e53c66f33762be225a4d57c08ef4b2f7 Maintainer: leonardolara Status: ready --><!-- CREDITS: fabioluciano,geekcom,ae,gabrielsanva,adiel,leonardolara -->
|
|
<chapter xml:id="language.basic-syntax" xmlns="http://docbook.org/ns/docbook" annotations="interactive">
|
|
<title>Sintaxe Básica</title>
|
|
<sect1 xml:id="language.basic-syntax.phptags">
|
|
<title>Tags PHP</title>
|
|
<para>
|
|
Quando o PHP processa um arquivo, ele reconhece as etiquetas de abertura e
|
|
fechamento, <literal><?php</literal> e <literal>?></literal>, para
|
|
definir os limites da execução de código PHP. O conteúdo fora destas
|
|
etiquetas é ignorado pelo interpretador PHP, permitindo que o PHP
|
|
seja incluído em vários tipos de documentos.
|
|
</para>
|
|
|
|
<para>
|
|
Um caractere de espaço em branco (espaço, tabulação ou nova linha) precisa estar presente logo após
|
|
<literal><?php</literal> para assegurar uma separação correta de tokens.
|
|
Omitir este espaço resultará em erro de sintaxe.
|
|
</para>
|
|
|
|
<para>
|
|
O PHP também inclui a etiqueta <literal><?=</literal>
|
|
que é um encurtamento para <code><?php echo</code>.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Tags de Abertura e Fechamento do PHP</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
1. <?php echo 'Se quiser servir código PHP em documentos XHTML ou XML,
|
|
use essas tags'; ?>
|
|
|
|
2. A tag echo curta <?= 'imprima essa string' ?> também pode ser usada.
|
|
Ela é equivalente a <?php echo 'imprima essa string' ?>.
|
|
|
|
3. <? echo 'Este código está entre tags curtas, mas só funcionará '.
|
|
'se a diretiva short_open_tag estiver habilitada'; ?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
|
|
<para>
|
|
As tags curtas (exemplo 3) estão disponíveis por padrão, mas podem ser desabilitadas
|
|
através da diretiva <link linkend="ini.short-open-tag">short_open_tag</link>
|
|
no arquivo de configuração &php.ini;, ou estarão desabilitadas por padrão se o PHP
|
|
for compilado com a configuração <option>--disable-short-tags</option>.
|
|
</para>
|
|
<para>
|
|
<note>
|
|
<para>
|
|
Como as tags curtas podem ser desabilitadas, é recomendado usar apenas as tags
|
|
normais (<code><?php ?></code> e <code><?= ?></code>) para
|
|
maximizar a compatibilidade.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
|
|
<para>
|
|
Se um arquivo terminar com código PHP, é preferível omitir a tag de fechamento do PHP
|
|
no final do arquivo. Isso evita que espaços em branco ou novas linhas
|
|
sejam adicionados acidentalmente após a tag de fechamento do PHP, o que pode causar efeitos indesejados,
|
|
porque o PHP iniciará o buffer de saída quando não houver intenção
|
|
de enviar qualquer saída naquele ponto do script.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Arquivo apenas com código PHP</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo "Olá Mundo\n";
|
|
|
|
// ... mais código
|
|
|
|
echo "Última instrução\n";
|
|
|
|
// o script termina aqui sem a tag de fechamento do PHP
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="language.basic-syntax.phpmode">
|
|
<title>Escapando o HTML</title>
|
|
<para>
|
|
Tudo fora de um par de tags de abertura e fechamento é ignorado pelo
|
|
interpretador PHP, o que permite que arquivos PHP tenham conteúdo misto. Isso permite que o PHP
|
|
seja incluído em documentos HTML, por exemplo, para criar templates.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Incorporando o PHP no HTML</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<p>Isso será ignorado pelo PHP e exibido pelo navegador.</p>
|
|
<?php echo 'Enquanto isto vai ser interpretado.'; ?>
|
|
<p>Isso também será ignorado pelo PHP e exibido no navegador.</p>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Isso funcionará como esperado, porque quando o interpretador PHP encontra a tag de fechamento
|
|
?>, ele simplesmente começa a repassar o que quer que encontre (exceto a nova linha
|
|
imediata, veja a seção sobre
|
|
<link linkend="language.basic-syntax.instruction-separation">separação de instruções</link>),
|
|
até encontrar outra tag de abertura, a menos que esteja no meio de uma declaração condicional,
|
|
caso em que o interpretador determinará o resultado da
|
|
condicional antes de decidir qual caminho tomar.
|
|
Veja o próximo exemplo.
|
|
</para>
|
|
<para>
|
|
Usando estruturas com condições
|
|
<example>
|
|
<title>Escape avançado usando condições</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php if ($expression == true): ?>
|
|
Isso irá aparecer se a expressão for verdadeira.
|
|
<?php else: ?>
|
|
Senão isso irá aparecer.
|
|
<?php endif; ?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
Neste exemplo, o PHP pulará os blocos onde a condição não for satisfeita, mesmo
|
|
que os trechos de código estejam fora das tags de abertura e fechamento do PHP,
|
|
pois o interpretador PHP pulará os blocos contidos
|
|
em uma condição que não foi satisfeita.
|
|
</para>
|
|
<para>
|
|
Para imprimir grandes blocos de texto, sair do modo de interpretação do PHP é
|
|
geralmente mais eficiente do que enviar todo o texto usando
|
|
<function>echo</function> ou <function>print</function>.
|
|
</para>
|
|
<para>
|
|
<note>
|
|
<para>
|
|
Se o PHP for incluído no XML ou XHTML, as tags normais
|
|
<code><?php ?></code> devem ser usadas para manter a conformidade
|
|
com os padrões.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="language.basic-syntax.instruction-separation">
|
|
<title>Separação de instruções</title>
|
|
<para>
|
|
Como em C ou Perl, o PHP requer que as instruções sejam terminadas
|
|
com um ponto e vírgula no final de cada declaração. A tag de fechamento de
|
|
um bloco de código PHP implica automaticamente em um ponto e vírgula;
|
|
a última linha de um bloco PHP não precisa ser terminada com um
|
|
ponto e vírgula. A tag de fechamento do bloco incluirá uma nova linha em seguida, se
|
|
estiver presente.
|
|
</para>
|
|
|
|
<para>
|
|
<example>
|
|
<title>Exemplo mostrando a tag de fechamento incluindo uma nova linha final</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php echo "Algum texto"; ?>
|
|
Sem nova linha
|
|
<?= "Mas agora há uma nova linha" ?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
Algum textoSem nova linha
|
|
Mas agora há uma nova linha
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
|
|
<para>
|
|
<example>
|
|
<title>Exemplos de entrada e saída do interpretador PHP</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo "Isto é um teste\n";
|
|
?>
|
|
|
|
<?php echo "Isto é um teste\n" ?>
|
|
|
|
<?php echo "A última tag de fechamento foi omitida\n";
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
<note>
|
|
<para>
|
|
A tag de fechamento de um bloco PHP no final de um arquivo é opcional e,
|
|
em alguns casos, omiti-la é útil ao usar <function>include</function>
|
|
ou <function>require</function>, assim espaços em branco indesejados não
|
|
ocorrerão no final dos arquivos, e ainda será possível adicionar
|
|
cabeçalhos à resposta posteriormente. Isso também é útil ao usar o buffer
|
|
de saída, para evitar a inclusão de espaços em branco indesejados
|
|
no final das partes geradas pelos arquivos incluídos.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</sect1>
|
|
<sect1 xml:id="language.basic-syntax.comments">
|
|
<title>Comentários</title>
|
|
<para>
|
|
O PHP suporta comentários no estilo C, C++ e Unix shell (estilo Perl). Por exemplo:
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Comentários</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo "Isto é um teste\n"; // Este é um comentário de uma linha no estilo C++
|
|
/* Este é um comentário de várias linhas
|
|
mais uma linha de comentário */
|
|
echo "Este é mais um teste\n";
|
|
echo "Um teste final\n"; # Este é um comentário de uma linha no estilo shell
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<simpara>
|
|
Os estilos de comentário de uma linha comentam apenas até o final da
|
|
linha ou do bloco atual de código PHP, o que ocorrer primeiro.
|
|
Isso significa que o código HTML após <literal>// ... ?></literal>
|
|
ou <literal># ... ?></literal> SERÁ impresso:
|
|
?> sai do modo PHP e retorna ao modo HTML, e
|
|
<literal>//</literal> ou <literal>#</literal> não podem influenciar isso.
|
|
</simpara>
|
|
<para>
|
|
<example>
|
|
<title>Comentários de uma linha</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<h1>Este é um <?php # echo 'simples';?> exemplo</h1>
|
|
<p>O cabeçalho acima dirá 'Este é um exemplo'.</p>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<simpara>
|
|
Os comentários no estilo C terminam no primeiro <literal>*/</literal> encontrado.
|
|
Certifique-se de não aninhar comentários no estilo C. É fácil cometer esse
|
|
erro ao tentar comentar um grande bloco de código.
|
|
</simpara>
|
|
<para>
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
/*
|
|
echo 'Isto é um teste'; /* Este comentário causará um problema */
|
|
*/
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
</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
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/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
|
|
-->
|