我已经看到 HTML 嵌套在 PHP 页面中的编写方式有很多种……本页演示了其中一些: http://austingulati.com/2010/01/many-ways-to-integrate-html-into-php/
但是...我很少看到 HTML 和 PHP 统一编写如下:
echo <<<EOF
<h1>Welcome</h1>
<p>Hello</p>
<p>{$somePHPVariable}</p>
EOF;
问题:
使用 EOF 方法是否存在我应该注意的基本问题?
最佳答案
如果您正在构建 HTML 并且需要嵌入变量,那么 Heredocs 非常有用。
它们尊重您嵌入其中的换行符/间距(即使浏览器不显示),因此构建格式良好的 HTML 变得更加容易,并且还使您无需在构建字符串时转义引号:
例如比较
print("<div class=\"this\">\n\tblah blah\n\t\t<span class=\"that\">blah</span>\n</div>");
对比
echo <<<EOL
<div class="this">
blah blah
<span class="that"</span>
</div>
EOL;
它们也可以用于串联操作,例如。
$x = "hello";
$x .= <<<EOL
there, how
EOL
$x .= <<<EOL
are you?
EOL;
最终会给 $x 值你好,你好吗?
。基本上认为 heredoc 语法是双引号字符串的非常奇特的版本,没有任何缺点。唯一的限制是 heredoc 的 sentinal 值必须单独在一行上,所以没有办法制作一个“一行”的 heredoc。
关于php - 使用 EOF 的缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10404044/