我想有条件地输出 HTML 来生成页面,那么在 PHP 4+ 中回显多行 HTML 片段的最简单方法是什么?我需要使用像 Smarty 这样的模板框架吗?
echo '<html>', "\n"; // I'm sure there's a better way!
echo '<head>', "\n";
echo '</head>', "\n";
echo '<body>', "\n";
echo '</body>', "\n";
echo '</html>', "\n";
有几种方法可以在 PHP 中回显 HTML。
1. PHP 标签之间
<?php if(condition){ ?>
<!-- HTML here -->
<?php } ?>
2. 在回声中
if(condition){
echo "HTML here";
}
对于 echos,如果您希望在 HTML 中使用双引号,则必须使用单引号 echo,如下所示:
echo '<input type="text">';
或者你可以像这样逃避它们:
echo "<input type=\"text\">";
3. 此处文档
4. Nowdocs(从 PHP 5.3.0 开始)
模板引擎用于在主要包含 HTML 的文档中使用 PHP。事实上,PHP 的最初目的是成为一种模板语言。这就是为什么在 PHP 中你可以使用短标签之类的东西来回显变量(例如<?=$someVariable?>
).
还有其他模板引擎(例如 Smarty、Twig 等)可以使语法更加简洁(例如{{someVariable}}
).
使用模板引擎的主要好处是保持设计(表现逻辑)与编码(商业逻辑)。从长远来看,它还使代码更清晰、更易于维护。
如果您还有任何疑问,请随时发表评论。
有关这些内容的进一步阅读可以在PHP 文档.
NOTE:PHP 短标签<?
and ?>
不鼓励,因为它们只有在启用时才可用short_open_tag
php.ini 配置文件指令,或者如果 PHP 配置为--enable-short-tags
选项。从 5.4 开始,无论设置如何,它们都可用.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)