我已经用PHP开发了几年了,最近发现了这段代码:
<?php
echo <<<EOB
<html>
<head>
<title>My title</title>
</head>
...
EOB;
?>
我从未见过这种打印HTML的方法,这看起来非常有用,并且不太容易出现一些奇怪的变量或双引号语法错误。
我已经搜索了一些关于此的官方信息,并且只发现了Rasmus谈论此事的帖子。
有关此功能的详细说明以及EOB的含义是什么?也许块结束?
答案 0 :(得分:28)
这称为heredoc语法。文档将告诉您需要知道的一切。
基本上,然而:
分隔字符串的第三种方法是heredoc语法:&lt;&lt;&lt;。在此运算符之后,提供标识符,然后提供换行符。字符串本身跟随,然后再次使用相同的标识符来关闭引用。
结束标识符必须从该行的第一列开始。此外,标识符必须遵循与PHP中任何其他标签相同的命名规则:它必须仅包含字母数字字符和下划线,并且必须以非数字字符或下划线开头。
所以EOB
正是作者选择作为他的分隔符,不是很确定它在他的情况下代表什么,但标识符可以是你想要的任何东西。
答案 1 :(得分:6)
仅仅为了完整起见,PHP中的Heredoc继承自Perl,它本身从Bourne shell继承了它。
答案 2 :(得分:3)
它被称为heredoc,在manual中有描述。
答案 3 :(得分:2)
官方用语是'here document'我相信,通常缩写为'heredoc'。
答案 4 :(得分:0)
这称为heredoc
语法。它允许您像字符串一样处理大块文本。它也允许换行。变量可以插入到文本块中,就像使用字符串的双引号一样。
可以在PHP自己的网站上找到更有用的解释:http://php.net/manual/en/language.types.string.php