php模式突破php或不

时间:2009-05-31 10:54:46

标签: php html

我问了另一个关于HTML和PHP分离的问题,因为我在教程和示例页面上看到过对它的引用,但我发现HTML和PHP的分离它与人们实际评论的内容不同,我认为这是PHP模式

这是不是PHP的突破。应该这样做吗?这很重要吗?

回复我的HTML输出只是一个偏好问题,还是应该突然显示它?

示例:

<?php

echo '<html'>;

?>

VS

<?php

dostuff();

?>

<html>

<?

morestuff();

?>

3 个答案:

答案 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语法,如果在回显()时使用字符串则不能这样做