Простая логика, такая как циклы, приемлема в представлениях, вам не нужна бизнес-логика. Поскольку логика этого цикла предназначена для отображения, я бы использовал первый.
Обычно в файлах шаблонов используется синтаксис foreach: endforeach.
<?php foreach($posts as $post):?>
<div class="post"><?php echo $post;?></div>
<?php endforeach;?>
Или, если включены короткие теги (обратите внимание, что это часто отключается на производственных серверах, но <? Php не может быть отключен, поэтому я бы рекомендовал описанный выше метод): </p>
<? foreach($posts as $post):?>
<div class="post"><?=$post?></div>
<? endforeach;?>
Однако это соглашение, а не правило.