Fork me on GitHub

Strings e Padrões



Funções


Sequências de escape


Correspondência de Strings


Extração


Formatação


Família Print


Especificadores de Formatação da função Printf


Substituição


PCRE – Meta Caracteres

PCRE (Expressões Regulares Compatíveis com Perl, do inglês, Perl Compatible Regular Expressions).


PCRE – Modificadores de Padrão


HEREDOC e NOWDOC

http://php.net/manual/pt_BR/language.types.string.php#language.types.string.syntax.heredoc

A partir do PHP 5.3.0, é possível inicializar variáveis estáticas além de propriedades e constantes de uma classe usando a sintaxe Heredoc.

O PHP 5.3.0 também introduz a possibilidade de que os Heredocs usem aspas duplas em suas declarações.

Os Heredocs, em geral, não podiam ser utilizados para inicializar propriedades de classe. Desde o PHP 5.3 essa limitação é válida apenas para os heredocs que contenham variáveis.

 1 <?php
 2 $str = <<<EOD
 3 Exemplo de um texto
 4 apresentado em múltiplas linhas
 5 utilizando a sintaxe heredoc.
 6 EOD;
 7 
 8 /* Exemplo mais complexo, com variáveis. */
 9 class foo
10 {
11     var $foo;
12     var $bar;
13 
14     function foo()
15     {
16         $this->foo = 'Foo';
17         $this->bar = array('Bar1', 'Bar2', 'Bar3');
18     }
19 }
20 
21 $foo = new foo();
22 $nome = 'MeuNome';
23 
24 echo <<<EOT
25 Meu nome é "$nome". Estou imprimindo algum $foo->foo.
26 Agora, estou imprimindo algum {$foo->bar[1]}.
27 Deveria ser impressa uma letra 'A' maiúscula: \x41
28 EOT;
29 ?>

http://php.net/manual/pt_BR/language.types.string.php#language.types.string.syntax.nowdoc

Diferente dos heredocs, os nowdocs podem ser usados em qualquer contexto de dados estáticos. O exemplo típico é a inicialização de propriedades de classe ou constantes.

Um nowdoc é especificado de forma similar a um heredoc, mas nenhum tipo de interpretação é feita dentro de um nowdoc.

Um nowdoc começa com a mesma sequência <<< usada para os heredocs, mas o identificador é embutido em aspas simples, e.g. <<<'EOT'. Todas as regras dos identificadores heredoc também se aplicam aos nowdoc, especialmente aquelas referentes à aparência do identificador de fechamento.

blog comments powered by Disqus