Sintaxe Básica

Este tópico apresenta a sintaxe básica da linguagem e descreve o processo de interpretação, comentários, operadores de fluxo e etc.

circle-info

Os exemplos abaixo desta seção podem usar o construtor de linguagemarrow-up-right echo e valores em formatoarrow-up-right string. Estes dois tópicos serão tratados à seguir.

PHP tags

Quando o PHP interpreta um arquivo ele procura pelas tags de abertura e fechamento, <?php e ?>, que dizem ao PHP para iniciar ou parar a interpretação do código entre elas. Quando criamos um arquivo que será processado pelo interpretador precisamos usar esses dois identificadores para designar que o trecho será executado pelo interpretador ou simplesmente impresso.

A abordagem de interpretação que o PHP usa permite que a linguagem seja para diversos tipos de documentos, pois tudo que está fora dessas tags é ignorado pelo interpretador do PHP e escrito como texto. Embora o PHP seja muito comum na impressão de páginas HTML, graças à sua estratégia de interpretação ele pode ser usado para diversas outras finalidades.

<?php
echo "Isto é PHP";
// o script termina aqui, sem tag de fechamento PHP

Isto é PHP

Embora fosse uma prática comum não é mais recomendado usar o fechamento caso você não vá produzir alguma nova saída de texto. Se quiser saber mais sobre isso a PSR-2arrow-up-right trata sobre esse assunto.

circle-exclamation

Quando combinamos trechos que são apenas texto e PHP temos o seguinte resultado

<?php
echo "Isto é PHP";
?>
Isto não é
<?php
echo "Isto também é PHP";

Isto é PHP Isto não é Isto também é PHP

O PHP também permite a tag curta <? (cujo uso é desencorajado pois essa opção está disponível somente quando habilitada na diretiva short_open_tagarrow-up-right no arquivo de configuração php.ini, ou quando o PHP tiver sido compilado com a opção --enable-short-tags ).

Isto é PHP Isto também é PHP

circle-info

A tag <?= é um atalho para o echoe sempre está disponível, independente da configuração short_open_tagarrow-up-right (diretiva do arquivo de configuração .ini), à partir da versão 5.4

triangle-exclamation

Instruções

Como no C ou Perl, o PHP requer que as instruções sejam terminadas com um ponto-e-vírgula (;) ao final de cada comando. A tag de fechamento de um bloco de código PHP automaticamente implica em um ponto-e-vírgula, ou seja, não é preciso ter um ponto-e-vírgula terminando a última linha de um bloco PHP. A tag de fechamento do bloco irá incluir uma nova linha logo após, se estiver presente.

Isto é um teste Isto será impresso Nós omitimos a última tag de fechamento

circle-info

É possível colocar vários comandos em uma mesma linha separados por ;, mas isto geralmente não é considerado uma boa prática

Comentários

A sintaxe de comentários no PHP é compatível com o estilo 'C', 'C++' e do Unix shell (estilo Perl).

Comentário de linha

Um comentário de linha vai informar ao interpretador que ele pode ignorar tudo o que estiver escrito à partir dele seguindo até o final da linha em que ele foi declarado ou até encontrar a tag de fechamento (?>). Os operadores para comentários de linha são // e #.

Isto é um teste Um teste final

Comentário de bloco

Os comentários de bloco são usados para informar ao interpretador que ele deve ignorar trechos de código. Para iniciar a área que será ignorada usamos /* e para finalizar usamos */.

Isto é um teste Um teste final

Comentário de documentação

É comum de vermos um comentário de bloco que inicia com /** ao invés do /*. Esta variação do comentário de bloco costuma é usada para documentar recursos do código. Esses comentários são baseados no PHP Docarrow-up-right e nos permitem descrever com algumas marcações informações sobre o recurso documentado.

circle-info

Podemos recuperar os comentários de documentação em tempo de execução usando Reflection, um exemplo é a ReflectionClass::getDocCommentarrow-up-right que pode ser usada para pegar os docblock da declaração de uma classe

Comentários e tags curtas

Quando estamos usando a sintaxe de tags curtas podemos omitir usar comentários de linha ou de blocos.

Isto é um teste Um teste final

Last updated

Was this helpful?