html - Expresión PHP<<<EOB




heredoc (5)

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 ?


Answers

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


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.


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 .






php html heredoc