Além disso, esteja atento aos identificadores de fechamento do heredoc.
Exemplo inválido:
function findAll() {
$query=<<<SQL
SELECT * FROM `table_1`;
SQL;
// ... omitted
}
Isso lançará uma exceção semelhante à seguinte:
<br />
<b>Parse error</b>: syntax error, unexpected end of file in <b>[...][...]</b> on line <b>5</b><br />
onde o número 5 pode ser o último número da linha do seu arquivo.
De acordo com o manual do php :
Aviso
É muito importante observar que a linha com o identificador de fechamento não deve conter outros caracteres, exceto um ponto e vírgula (;). Isso significa especialmente que o identificador não pode ser recuado e não pode haver espaços ou tabulações antes ou depois do ponto e vírgula. Também é importante perceber que o primeiro caractere antes do identificador de fechamento deve ser uma nova linha, conforme definido pelo sistema operacional local. Isso é \ n nos sistemas UNIX, incluindo o macOS. O delimitador de fechamento também deve ser seguido por uma nova linha.
TLDR : Os identificadores de fechamento NÃO devemser recuados.
Exemplo válido:
function findAll() {
$query=<<<SQL
SELECT * FROM `table_1`;
SQL;
// closing identifier should not be indented, although it might look ugly
// ... omitted
}