Я пытаюсь заменить код HTML оператором heredoc. Тем не менее, я получаю сообщение об ошибке разбора в последней строке. Я уверен, что я не оставил ни одного начального пробела или отступа в строке тега heredoc.
$table = <<<ENDHTML
<div style="text-align:center;">
<table border="0.5" cellpadding="1" cellspacing="1" style="width:50%; margin-left:auto; margin-right:auto;">
<tr>
<th>Show I.D</th>
<th>Show Name</th>
</tr>
ENDHTML;
while($row = mysql_fetch_assoc($result)){
extract($row);
$table .= <<<ENDHTML
<tr>
<td>$showid2 </td>
<td>$showname2</td>
</tr>
ENDHTML;
}
$table .= <<<ENDHTML
</table>
<p><$num_shows Shows</p>
</div>
ENDHTML;
echo $table;
?>
Где проблема?
У меня есть связанный вопрос в дополнение к выше. Как практика кодирования, лучше использовать PHP-код повсюду или лучше использовать синтаксис heredoc. Я имею в виду, что, находясь в режиме PHP, скрипт перемещается назад и вперед между кодом HTML и PHP.
Итак, какой метод является предпочтительным?