如何正确缩进PHP / HTML混合代码?

混合使用PHP和HTML时,应使用什么合适的缩进样式?我要缩进以使输出的HTML具有正确的缩进,还是使PHP / HTML混合看起来格式正确(从而更易于阅读)?


例如,假设我有一个foreach循环输出表行。以下哪一项是正确的?


PHP / HTML组合看起来正确:


<table>

  <?php foreach ($rows as $row): ?>

    <tr>

      <?php if ($row->foo()): ?>

        <?php echo $row ?>

      <?php else: ?>

        Something else

      <?php endif ?>

    </tr>

  <?php endforeach ?>

</table>

输出的HTML看起来正确:


<table>

<?php foreach ($rows as $row): ?>

  <tr>

  <?php if ($row->foo()): ?>

    <?php echo $row ?>

  <?php else: ?>

    Something else

  <?php endif ?>

  </tr>

<?php endforeach ?>

</table>

我发现,遇到这种情况时(经常),我没有标准的样式可以使用。我知道可能没有“正确”的答案,但是我很想听听其他开发人员的想法。


Qyouu
浏览 863回答 3
3回答

青春有我

应该对PHP和HTML分别进行缩进,以便它们彼此之间在源代码形式上是正确的,而无论彼此和输出形式如何:<table><?php foreach ($rows as $row): ?>&nbsp; &nbsp; <tr>&nbsp; &nbsp; <?php if ($row->foo()): ?>&nbsp; &nbsp; &nbsp; &nbsp; <?php echo $row ?>&nbsp; &nbsp; <?php else: ?>&nbsp; &nbsp; &nbsp; &nbsp; Something else&nbsp; &nbsp; <?php endif ?>&nbsp; &nbsp; </tr><?php endforeach ?></table>

慕桂英546537

我也经常思考这个问题,但是后来我意识到,谁在乎HTML输出是什么样子?无论如何,您的用户不应该查看您的HTML。供您阅读,也许还有其他一些开发人员。保持源代码尽可能的干净,而忽略输出的外观。如果您需要调试输出,请使用Chrome开发者工具,Firebug甚至F12工具。

料青山看我应如是

我通常在行的开头放开 php标记,但缩进标记内的内容以匹配html格式。但是,对于简单的echo语句,我不这样做,因为我使用的是短标签。我认为在浏览文件以查找所有声明时,它变得更简单。&nbsp; &nbsp; <table><?&nbsp; foreach ($foo as $bar): ?>&nbsp; &nbsp; &nbsp; <tr><?&nbsp; &nbsp; foreach ($bar as $baz): ?>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<td><?=$baz?></td><?&nbsp; &nbsp; endforeach ?>&nbsp; &nbsp; &nbsp; </tr><?&nbsp; endforeach ?>&nbsp; &nbsp; </table>
打开App,查看更多内容
随时随地看视频慕课网APP