Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's this kind of syntax in PHP?

Tags:

syntax

php

$test= <<<EOF

....

EOF;

I have never see it before. What's it used for?

like image 302
user198729 Avatar asked Dec 08 '22 04:12

user198729


1 Answers

This is called HEREDOC syntax, which is a way to define strings, on multiple lines, with variable interpolation.


Quoting the manual page:

Heredoc text behaves just like a double-quoted string, without the double quotes. This means that quotes in a heredoc do not need to be escaped, but the escape codes listed above can still be used. Variables are expanded, but the same care must be taken when expressing complex variables inside a heredoc as with strings.

(There is more to read, that I didn't copy-paste from the manual page)


And, as a very quick and simple example:

$a = 'World';
$string = <<<MARKER
<p>
  Hello, $a!
</p>
MARKER;
echo $string;

It will give you this output:

Hello, World!

And this HTML source:

<p>
  Hello, World!
</p>
like image 169
Pascal MARTIN Avatar answered Dec 27 '22 03:12

Pascal MARTIN