Avi Kapuya
Avi Kapuya

Reputation: 1040

PHP - How to avoid "echo" HTML when there is a need for conditional html blocks for example

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

Answers (4)

JohnnyFaldo
JohnnyFaldo

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

raptor
raptor

Reputation: 760

Here is another example using an alternative if-Syntax:

<?php if($a == 5): ?>
<p>A=5</p>
<?php endif; ?>

Upvotes: 2

Amal Murali
Amal Murali

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

MDEV
MDEV

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

Related Questions