2011-08-03 25 views
54

Estoy implementando el nodo en PDF usando drupal y tcpdf. En tal caso, se supone que debo usar esta etiqueta <<<EOD. Si no di esto o/p no es perfecto. No puedo obtener exactamente el propósito de <<<EOD.¿Cuál es el uso de <<< EOD en PHP?

¿Alguien podría explicar el concepto de esto?

$html = <<<EOD 
     <tr> 
      <td>TEST</td> 
     </tr> 
EOD; 

Gracias de antemano ....

Respuesta

75

Eso no es HTML, pero PHP. Se llama método de cadena HEREDOC y es una alternativa al uso de comillas para escribir cadenas de varias líneas.

El HTML en tu ejemplo será:

<tr> 
     <td>TEST</td> 
    </tr> 

Leer el PHP documentation que lo explica.

+4

se utiliza también en perl :) no se olvide que –

+0

Palabra 1 sin embargo, dado que la cuestión fue etiquetado PHP, pensé esto fue apropiado. –

25

hay cuatro tipos de cadenas disponibles en php. Son comillas simples ('), comillas (") y nowdoc (<<<'EOD') y heredoc (<<<EOD) cadenas

puede utilizar tanto comillas simples y comillas dobles dentro de la cadena heredoc. Las variables serán expandidos al igual que las comillas dobles.

cuerdas nowdoc no se expandirán las variables al igual que las comillas simples

ref:.!. http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

+4

¿Qué significa el EOD en sí mismo? ¿Y por qué algunos usan EOT? – CMCDragonkai

+4

@CMCDragonkai Buena pregunta. Parece que 'EOD' no significa nada especial y que puede usar virtualmente cualquier etiqueta aquí, siempre y cuando las etiquetas de apertura y cierre sean similares. Si mira [aquí] (http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc), en ejemplos más profundos ('Example #'), encontrará ejemplos con 'LABEL' (' <<< LABEL' + 'LABEL;') y 'FOOBAR'. También encontré 'DEL' en algunas de mis fuentes. Entonces parece que eres libre de usar cualquier cosa que quieras. – trejder

+1

Siempre supuse que significaba "Fin de datos" – Sp4cecat

Cuestiones relacionadas