php html heredoc

Expresión PHP<<< EOB



html heredoc (5)

El término oficial es "aquí documento", creo, generalmente abreviado a "heredoc".

He estado desarrollando con PHP desde hace algunos años, y recientemente encontré este código:

<?php echo <<<EOB <html> <head> <title>My title</title> </head> ... EOB; ?>

Nunca he visto este enfoque para imprimir HTML, que parece ser bastante útil y menos propenso a errores de sintaxis de comillas o variables extrañas.

Busqué información oficial sobre esto y solo encontré una publicación de Rasmus hablando de esto.

¿Qué es una explicación detallada sobre esta funcionalidad y qué significa EOB? Tal vez el final del bloque ?


Esto se conoce como sintaxis heredoc . La documentación le dirá todo lo que necesita saber.

Esencialmente, sin embargo:

Una tercera forma de delimitar cadenas es la sintaxis heredoc: <<<. Después de este operador, se proporciona un identificador, luego una nueva línea. La propia cadena sigue, y luego el mismo identificador de nuevo para cerrar la cita.

El identificador de cierre debe comenzar en la primera columna de la línea. Además, el identificador debe seguir las mismas reglas de denominación que cualquier otra etiqueta en PHP: debe contener solo caracteres alfanuméricos y guiones bajos, y debe comenzar con un carácter o un guión bajo que no sea un dígito.

Así que EOB es justo lo que el autor eligió como su delimitador, no muy seguro de lo que significa en su caso, pero el identificador puede ser lo que quieras.


Esto se llama sintaxis heredoc . Te permite tratar grandes bloques de texto como una cadena. Permite también nuevas líneas. Las variables se pueden insertar en el bloque de texto, al igual que usar las comillas dobles para las cadenas.

Una explicación más útil se puede encontrar en el sitio web de PHP: http://php.net/manual/en/language.types.string.php


Se llama heredoc y se describe en el manual .


Solo para completar, Heredoc en PHP se hereda de Perl , que a su vez lo heredó de la shell Bourne .