Además de las formas ya vistas para representar cadenas, otra forma de delimitar un string es mediante la sintaxis heredoc: <<<. Después de este operador, se deberá ofrecer un identificador y después una nueva línea. A continuación va el propio string, y para cerrar la notación se pone el mismo identificador.
El identificador de cierre debe empezar en la primera posición de la nueva línea. Asimismo, el identificador debe seguir las mismas reglas de nomenclatura de las etiquetas en PHP: debe contener solo caracteres alfanuméricos y guiones bajos, y debe empezar con un caracter alfabético o un guión bajo.
1 2 3 4 5 |
$str = <<<EOD Ejemplo de una cadena expandida en varias líneas empleando la sintaxis heredoc. EOD; |
La ventaja de la sintaxis heredoc es que no existe la necesidad de escapar comillas y que sigue funcionando como una cadena compleja, de modo que hará la conversión de variables en caso de ser necesario.
1 2 3 4 5 |
echo <<<EOT Mi nombre es "$name". Estoy escribiendo un poco de $foo->foo. Ahora, estoy escribiendo un poco de {$foo->bar[1]}. Esto debe mostrar una 'A' mayúscula: \x41 EOT; |
Es muy importante señalar que la línea con el identificador de cierre no debe contener ningún caracter, excepto posiblemente un punto y coma (;). Esto significa en particular que el identificador no debe usar sangría, y que no deben existir ningún espacio ni tabulación antes o después del punto y coma.
¿Te gustó este artículo?
Si te gustó este artículo, te ha servido o aprendiste algo nuevo; compártelo en tus redes sociales o invítame un cafe.