php echo vs open&close tag php echo vs open&close tag php php

php echo vs open&close tag


Benefits of first one

  • Easier to read
  • ???

Benefits of second one

  • WYSIWYG is possible
  • HTML Code Completion/Tag-Matching possible with some IDEs
  • No escaping headaches
  • Easier for larger chunks of HTML

If I have a lot of HTML in a given PHP routine (like an MVC view) then I definitely use the 2nd method. But I format it differently - I strictly rely on the tag-like nature of PHP's demarcations, i.e., I make the PHP sections look as much like HTML tags as I can

<table>  <?php foreach($lotsofrows as $row) { ?>  <tr>    <td><?php echo $row['id']; ?></td>  </tr>  <?php } ?></table>


I agree with Peter Bailey. However, in views I use the alternative syntax for statements, and much prefer short tags (particularly for echoing). So the above example would instead read:

 <table>   <? foreach($lotsofrows as $row): ?>  <tr>    <td><?= $row['id']; ?></td>  </tr>  <? endforeach; ?> </table>

I believe this is the preferred standard for Zend Framework.


The first is far more readable in my opinion, however, the second technically involves less parsing. Any speed advantage in that case would likely be minor and really meaningless without profiling.

Premature Optimization is the root of all evil. Do what makes the code easiest to read and maintain. Efficiency takes a backseat to maintainability.

see http://en.wikipedia.org/wiki/Optimization_%28computer_science%29#When_to_optimize for some good advice on the subject