O PHP possui algumas maneiras de se trabalhar com textos longos e que possuem quebras de linhas, entre elas temos o formato NOWDOC e HEREDOC que vamos mostrar aqui.
Primeiro veja esse exemplo usando concatenação:
$var = 'SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate ' . 'FROM Orders ' . 'INNER JOIN Customers' . 'ON Orders.CustomerID=Customers.CustomerID';
Com NOWDOC podemos simplificar a escrita dessa string de maneira bastante elegante e legível, observe:
$var = <<<'MEUTEXTO' SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate FROM Orders INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID MEUTEXTO;
Essa maneira seria equivalente as aspas simples do PHP, que neste caso ficaria assim:
$var = 'SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate FROM Orders INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID';
Vale lembrar que com NOWDOC tudo será exibido como texto puro inclusive variáveis, veja o exemplo abaixo:
$cor = 'preto'; $var = <<<'MEUTEXTO' A cor do café é $cor MEUTEXTO; // saída // A cor do café é $cor
Caso você precise que as variáveis sejam interpretadas então é possível usar o HEREDOC que seria o equivalente a aspas duplas, para usa-lo basta retirar as aspas simples do seu bloco HEREDOC, veja abaixo:
$cor = 'preto'; $var = <<<MEUTEXTO A cor do café é $cor MEUTEXTO; // saída // A cor do café é preto
Apesar dessa pequena diferença entre interpretar e não interpretar variáveis ambos (NOWDOC e HEREDOC) seguem as mesmas regras, um ponto importante em que devemos ficar atentos é que a tag de fechamento do bloco deve SEMPRE ser a primeira instrução da linha e não pode conter espaços, tab, nem indentado, caso contrário o PHP não encontrará o final texto e continuará procurando pelo identificador de fechamento.