php - 使用 EOF 的缺点?

标签 php html

我已经看到 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/

相关文章:

php - get_product_from_item($item) 已弃用 WooCommerce 中的替代品

javascript - 从页面的一侧向左传递数据?

css - 两个 Fluid DIV 之间的固定 px 边距

php - Laravel 有时显示 404 未找到页面

javascript - 弹出窗口不在屏幕中心 - CSS 问题

javascript - 防止同时播放 HTML5 视频和音频元素

javascript - 根据滚动更改我的 div 容器的位置

php - 通过PHP业务逻辑限制对NGINX中静态文件的访问?

php - Laravel 5.2 查询是延迟加载的吗?

php - Memcache产生不可阻挡的通知