mirror of
https://github.com/php/doc-pt_br.git
synced 2026-03-23 22:52:12 +01:00
git-svn-id: https://svn.php.net/repository/phpdoc/pt_BR/trunk@82184 c90b9560-bf6c-de11-be94-00142212c4b1
279 lines
8.7 KiB
XML
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 (<?php. . .?> e <script
|
|
language="php">. . .</script>) 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
|
|
<?php ... ?> 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, <?php. . .?>, é 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
|
|
?>, 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 (?>) 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
|
|
-->
|