我问了另一个关于HTML和PHP分离的问题,因为我在教程和示例页面上看到过对它的引用,但我发现HTML和PHP的分离它与人们实际评论的内容不同,我认为这是PHP模式
这是不是PHP的突破。应该这样做吗?这很重要吗?
回复我的HTML输出只是一个偏好问题,还是应该突然显示它?
示例:
<?php
echo '<html'>;
?>
VS
<?php
dostuff();
?>
<html>
<?
morestuff();
?>
答案 0 :(得分:1)
我假设“爆发”你的意思是:
<?php foo(); ?>
test
<?php bar(); ?>
而不是
<?php
foo();
echo("test");
bar();
?>
嗯,第一个解决方案的一个优点是您的布局在HTML编辑器中仍然或多或少可读。此外,它将布局和逻辑分开,至少比其他变体更多。它可能也比第二个选项略快,因为不需要解析和回显字符串。另一方面,由于语义相关的东西突然分裂,因此拥有数吨和大量的单个PHP块实际上很难阅读。当然,您也可以将这两种方法结合起来。
我认为这里的底线是,只要您需要进行如此多的格式化和回声,程序的逻辑变得非常模糊,您应该考虑使用“真正的”模板引擎。
答案 1 :(得分:1)
我认为这取决于具体情况。
您想要向浏览器回显多少行? 这些行包含$ variable值? $数组值? 你循环数据集?等等。
对我而言,大多数时候只能回应这些行更为可靠。
<?php
if ( check($something) ) {
echo "Some variable is: $something<br/>\n";
} else {
echo "Some variable is something else!<br/>\n";
}
?>
比以下内容更具可读性:
<?php
if ( check($something) ) {
?>
Some variable is: <?php echo $something; ?><br/>
<?php
} else {
?>
Some variable is something else!<br/>
<?php
}
?>
并且使用某些IDE(或者例如stackoverflow.com syntaxhighlighting),它甚至可以更具可读性:
<?php
if ( check($something) ) {
echo 'Some variable is: '.$something."<br/>\n";
} else {
echo "Some variable is something else!<br/>\n";
}
?>
总结:
PHP为您提供了很多向您的客户发送内容的选项
“最佳方法”与案例案例不同。
选择最易读/可维护的方法并一致地使用它。
答案 2 :(得分:0)
如果突破你的意思是这样的事情:
<?php
if($somecondition) {
?>
<!-- Some HTML -->
<?php
}
?>
然后是的,在大多数情况下突破更好,因为它更具可读性(许多IDES突出显示HTML语法,如果在回显()时使用字符串则不能这样做