Reputation: 1040
Echoing HTML blocks in PHP is a pain, The echoed parts are not properly marked and parsed by IDE's since it's a string. This deficiency makes it very difficult to properly edit and change echoed html (especially with JavaScript). I wonder if there is an elegant solution except for using include in such cases.
Upvotes: 0
Views: 781
Reputation: 4161
Yes, you don't need to echo just close PHP tags , e.g:
<ul>
<?php
foreach($foo as $bar) {
?>
<li> hi i'm <?=$bar;?> </li>
<?
}
?>
</ul>
EDIT:
for even more readability (often used in MVC views + wordpress type systems) omit the curly braces:
<ul>
<?php
foreach($foo as $bar):
?>
<li> hi i'm <?=$bar;?> </li>
<?
endforeach;
?>
</ul>
Upvotes: 4
Reputation: 760
Here is another example using an alternative if-Syntax:
<?php if($a == 5): ?>
<p>A=5</p>
<?php endif; ?>
Upvotes: 2
Reputation: 76656
You can open and close PHP tags (<?php ?>
) whenever you want:
<?php
//php code
?>
<!-- html goes here -->
<?php
//php code again
?>
Upvotes: 1
Reputation: 10838
Just close and reopen the PHP tags
<?php
//blah blah PHP code
$title = 'My title';
?>
<section>
<h1><?php echo $title; ?></h1>
</section>
<?php
//More PHP code
Upvotes: 1