PHP Heredoc

Resumo : neste tutorial, você aprenderá como usar strings PHP heredoc e nowdoc para melhorar a legibilidade do código.

Introdução à string heredoc do PHP

Quando você coloca variáveis ​​​​em uma string entre aspas duplas , o PHP expandirá os nomes das variáveis. Se uma string contém aspas duplas (“), você precisa escapá-las usando a barra invertida ( \). Por exemplo:

<?php

$he = 'Bob';
$she = 'Alice';

$text = "$he said, \"PHP is awesome\".
\"Of course.\" $she agreed.";

echo $text;Linguagem de código:  PHP  ( php )

Saída:

Bob said, "PHP is awesome".
"Of course." Alice agreed.Linguagem de código:  PHP  ( php )

Strings heredoc do PHP se comportam como strings entre aspas duplas, sem aspas duplas. Isso significa que eles não precisam escapar de aspas e expandir variáveis. Por exemplo:

<?php

$he = 'Bob';
$she = 'Alice';

$text = <<<TEXT
$he said "PHP is awesome".
"Of course" $she agreed."
TEXT;

echo $text;Linguagem de código:  PHP  ( php )

Sintaxe heredoc do PHP

O seguinte mostra a sintaxe de uma string heredoc:

<?php

$str = <<<IDENTIFIER
place a string here
it can span multiple lines
and include single quote ' and double quotes "
IDENTIFIER;Linguagem de código:  PHP  ( php )

Como funciona.

Primeiro, comece com o <<<operador, um identificador e uma nova linha:

<<<IDENTIFIERLinguagem de código:  PHP  ( php )

Segundo, especifique a string, que pode abranger várias linhas e incluir aspas simples (‘) ou aspas duplas (“).

Terceiro, feche a string com o mesmo identificador.

O identificador deve conter apenas caracteres alfanuméricos e sublinhados e começar com um sublinhado ou um caractere que não seja um dígito.

O identificador de fechamento deve seguir estas regras:

  • Começa na primeira coluna da linha
  • Não contém outros caracteres, exceto um ponto e vírgula ( ;).
  • O caractere antes e depois do identificador de fechamento deve ser um caractere de nova linha definido pelo sistema operacional local.

O seguinte mostra uma string heredoc inválida porque o caractere anterior não é um caractere de nova linha:

<?php

$str = <<<IDENTIFIER
invalid
    IDENTIFIER;

echo $str;Linguagem de código:  PHP  ( php )

No entanto, a seguinte string heredoc é válida:

<?php

$str = <<<IDENTIFIER
    valid
    IDENTIFIER;

echo $str;Linguagem de código:  PHP  ( php )

Casos de uso de strings heredoc PHP

Na prática, você usa a sintaxe heredoc para definir uma string que contém aspas simples, aspas duplas ou variáveis. A string heredoc torna a string mais fácil de ler.

Além disso, você pode usar uma string heredoc para gerar HTML dinamicamente. Por exemplo:

<?php

$title = 'My site';

$header = <<<HEADER
<header>
    <h1>$title</h1>
</header>
HEADER;

echo $header;Linguagem de código:  PHP  ( php )

Sintaxe PHP Nowdoc

Uma string nowdoc é semelhante a uma string heredoc, exceto que não expande as variáveis. Aqui está a sintaxe de uma string nowdoc:

<?php

$str = <<<'IDENTIFIER'
place a string here
it can span multiple lines
and include single quote ' and double quotes "
IDENTIFIER;Linguagem de código:  PHP  ( php )

A sintaxe do nowdoc é semelhante à sintaxe do heredoc, exceto que o identificador que segue o operador <<< precisa ser colocado entre aspas simples. O identificador do nowdoc também segue as regras do identificador heredoc.

Resumo

  • Strings Heredoc são como strings entre aspas duplas sem escape.
  • As strings Nowdoc são como strings entre aspas simples, sem escape.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *