It seemed simpler to me than constantly doing <?php echo ($var); ?> where I have blocks of HTML that contain several php vars.
True; just remember that the only difference between
echo <<<EOF
<a href="index.php">Home with a $variable</a>
<a href="index.php">Home with a $variable</a>
<a href="index.php">Home with a $variable</a>
EOF;
and
echo "<a href=\"index.php\">Home with a $variable</a>
<a href=\"index.php\">Home with a $variable</a>
<a href=\"index.php\">Home with a $variable</a>";
is when you have " characters to escape. "switching in and out of HTML" isn't really an appropriate way of looking at it. For example
$text = <<<EOF
<a href="index.php">Home with a $variable</a>
<a href="index.php">Home with a $variable</a>
<a href="index.php">Home with a $variable</a>
EOF;
will do the same thing as
$text = "<a href=\"index.php\">Home with a $variable</a>
<a href=\"index.php\">Home with a $variable</a>
<a href=\"index.php\">Home with a $variable</a>";
But
$text = ?>
<a href="index.php">Home with a <?php echo $variable?></a>
<a href="index.php">Home with a <?php echo $variable?></a>
<a href="index.php">Home with a <?php echo $variable?></a>
<?php
won't.