Además, tenga cuidado con los identificadores de cierre heredoc.
Ejemplo inválido:
function findAll() {
$query=<<<SQL
SELECT * FROM `table_1`;
SQL;
// ... omitted
}
Esto generará una excepción similar a la siguiente:
<br />
<b>Parse error</b>: syntax error, unexpected end of file in <b>[...][...]</b> on line <b>5</b><br />
donde el número 5 podría ser el último número de línea de su archivo.
Según el manual de php :
Advertencia
Es muy importante tener en cuenta que la línea con el identificador de cierre no debe contener otros caracteres, excepto un punto y coma (;). Esto significa especialmente que el identificador puede no estar sangrado, y puede que no haya espacios o pestañas antes o después del punto y coma. También es importante darse cuenta de que el primer carácter antes del identificador de cierre debe ser una nueva línea según lo definido por el sistema operativo local. Esto es \ n en sistemas UNIX, incluido macOS. El delimitador de cierre también debe ir seguido de una nueva línea.
TLDR : los identificadores de cierre NO deberían estar sangrados.
Ejemplo válido
function findAll() {
$query=<<<SQL
SELECT * FROM `table_1`;
SQL;
// closing identifier should not be indented, although it might look ugly
// ... omitted
}