Files
archived-doc-pt-br/language/basic-syntax.xml
André Luis Ferreira da Silva Bacci 2f601dc044 small update
git-svn-id: https://svn.php.net/repository/phpdoc/pt_BR/trunk@82184 c90b9560-bf6c-de11-be94-00142212c4b1
2002-05-14 02:41:13 +00:00

279 lines
8.7 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- EN-Revision: 1.33 Maintainer: andre_ae Status: ready -->
<chapter id="language.basic-syntax">
<title>Sintaxe básica</title>
<!--
NOTE: Last modified: 2001-05-16 13:00 GMT
the language part is currently under heavy revision. Please do not
not make any heavy (i.e. structural) modifications to this part
for a moment.
You'd also better not start any translation yet.
Comments are always welcome at phpdoc@lists.php.net
Progress:
intro : DOESN'T EXIST - yet?
new chapter, with some introductionary remarks?
Will be discussed on the ML soon.
basic-syntax:
FINISHED
except maybe moving the 'advanced escaping'
to a better place?
TODO:
- nada
types : Being revised. Added all new types
Boolean and Integer are more or less finished.
The rest isn't.
TODO:
- why is $foo[bar] bad syntax?
- what's the difference between unset($bla) and
$bla = NULL; (it is different!)
- $obj->{expr} syntax
- (unset) cast?????
- $bla = unset <== should've been nuked, don't mention it
- $str{offset} syntax, rather than $str[offset]
- read notes and apply when any of them are useful
- remove notes which have been included here.
- ...
the rest: Not yet started with.
TODO:
- ?
oop : has been revised by Kristian, DONE.
-->
<sect1 id="language.basic-syntax.phpmode">
<title>Alternado/Escaping do HTML</title>
<para>
Quando o PHP interpreta um arquivo, ele simplesmente repassa o texto do arquivo
até encontrar uma das tags especiais que lhe diz para
começar a interpretar o texto como código PHP. O interpretador então
executa todo o código que encontra, até chegar em uma tag de
fechamento PHP, que novamente o coloca simplesmente repassando
texto novamente. Este é o mecanismo que permite a inclusão de código
PHP dentro do HTML: qualquer coisa fora das tags PHP é deixado como
encontrado, enquanto tudo dentro é interpretado e executado.
</para>
<para>
Há quatro conjuntos de tags que podem ser usadas para marcar blocos de
código PHP. Delas, somente duas (&lt;?php. . .?&gt; e &lt;script
language="php"&gt;. . .&lt;/script&gt;) são sempre disponíveis. As
outras podem ser ativadas ou desativadas a partir do arquivo de configuração
&php.ini;. Enquanto as
formas reduzidas das tags ou no seu estilo ASP serem convenientes, elas não
são portáveis em todas as versões. Além disso, se você pretende incluir
código PHP em XML ou XHTML, você precisará usar a forma
&lt;?php ... ?&gt; para compatibilidade com o padrão XML.
</para>
<para>
As tags suportadas pelo PHP são:
</para>
<para>
<example>
<title>Maneiras de alternar do HTML</title>
<programlisting role="php">
<![CDATA[
1. <?php echo("se você precisa dispor documentos XHTML ou XML, use assim\n"); ?>
2. <? echo ("este é o mais simples, como uma instrução de processamento SGML\n"); ?>
<?= espressao ?> Uma redução de "<? echo expressao ?>"
3. <script language="php">
echo ("alguns editores (como o FrontPage) não
gostam de processas instruções");
</script>
4. <% echo ("Você também pode usar tags ASP opcionalmente"); %>
<%= $variavel; # Uma redução para "<% echo ..." %>
]]>
</programlisting>
</example>
</para>
<para>
O primeiro método, &lt;?php. . .?&gt;, é o preferencial, já
que ele permite o uso do PHP em códigos padrão XML como o XHTML.
</para>
<para>
O segundo método pode não estar sempre disponível. Tags curtas estão disponíveis
apenas quando ativadas. Isto pode ser realizando através da função
<function>short_tags</function> (PHP 3 somente), ativando
a diretiva de configuração <link linkend="ini.short-open-tag">short_open_tag</link>
no arquivo de configuração do PHP ou compilando o PHP
com a opção --enable-short-tags no
<command>configure</command>. Mesmo que ele esteja configurado por default no
php.ini-dist, o uso de tags curtas é desencorajado.
</para>
<para>
A quarta maneira só está disponível se a tag estilo ASP for
ativada utilizando a diretiva <link linkend="ini.asp-tags">asp_tags</link>
no arquivo de configuração.
<note>
<para>O suporte as tags estilo APS foi incorporada na versão 3.0.4.</para>
</note>
</para>
<note>
<para>
A utilização das tags curtas deve ser evitada quando do desenvolvimento de aplicações
ou bibliotecas com intenção de redistribuição ou no desenvolvimento de
serviços em PHP que não ficarão sob seu controle, uma vez que as tags curtas
podem não estar disponíveis no servidor de instalação. Para portabilidade
de código para distribuição, tenha certeza de não usar tags curtas.
</para>
</note>
<para>
A tag de fechamento incluirá uma linha nova linha em branco
automaticamente se uma não estiver presente. Além, a tag de fechamento
automaticamente implica num ponto e vírgula: você não precisa ter um
ponto e vírgula no fim da última linha de código PHP.
</para>
<para>
O PHP também suporta a utilização de estruturas como essa:
<example><title>Alternagem avançada</title>
<programlisting role="php">
<![CDATA[
<?php
if ($expression) {
?>
<strong>Isso é verdadeiro.</strong>
<?php
} else {
?>
<strong>Isto é falso.</strong>
<?php
}
?>
]]>
</programlisting>
</example>
Isso funciona como esperado porque quando o PHP encontra a tag de fechamento
?&gt;, ele simplesmente começa a imprimir tudo até encontrar
outra tag de abertura. Obviamente, o exemplo acima se aplica
a exibição de grandes blocos de texto, uma vez que sair do
modo de interpretação do PHP é geralmente mais eficiente que
imprimir todo o texto através de funções como <function>echo</function>,
<function>print</function> e outras.
</para>
</sect1>
<sect1 id="language.basic-syntax.instruction-separation">
<title>Separador de instruções</title>
<simpara>
Instruções são separadas da mesma forma que o C ou o Perl - cada
instrução termina com um ponto e vírgula.</simpara>
<para>
A tag de fechamento (?&gt;) também implica no fim de uma instrução, então
os exemplos seguintes são equivalentes:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
echo "Isto é um teste";
?>
<?php echo "Isto é um outro teste" ?>
]]>
</programlisting>
</informalexample>
</para>
</sect1>
<sect1 id="language.basic-syntax.comments">
<title>Comentários</title>
<para>
O PHP suporta comentários do 'C', 'C++' e Unix shell. Por exemplo
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
echo "Isto é um teste"; //Comentário de uma linha no C++
/* Isto é um comentário de mais de uma linha
e aqui temos outra linha */
echo "Isto é um outro teste";
echo "O último teste"; #Comentário no estilo Unix shell
?>
]]>
</programlisting>
</informalexample>
</para>
<simpara>
Os comentário de uma linha só tem efeito até o fim da
linha ou fim do bloco de código PHP atual, o que ocorrer
primeiro.
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
<h1>Isto é um <?php # echo " simples";?> exemplo.</h1>
<p>No título acima você lerá 'Isto é um exemplo'.
]]>
</programlisting>
</informalexample>
<simpara>
Você precisa ser cuidadoso com comentários estilo 'C' encadeados, pois
eles podem causar problemas em grandes blocos.
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
/*
echo "Isto é um teste"; /* Este comentário causará um erro */
*/
?>
]]>
</programlisting>
</informalexample>
<simpara>
Os comentários de uma linha somente agem até o fim da linha
atual ou o fim do bloco de código PHP, o que ocorrer primeiro.
Isto significa que código HTML após <literal>// ?></literal> SERÁ impresso: ?> continuará
desligando o modo PHP, retornando para o modo HTML, e o // não pode influenciar isso.
</simpara>
</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:"../../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
-->