генерирую view
controller.phpreturn $this->render('date', ['data' => $data, 'date' => $date]);
Вариант 1:
view-date.php<section class="article-list">
<h5><?= $date?> </h5>
<?php foreach ($data as $news) echo $this->render('_list_item', ['news'=>$news]); ?>
</section>
Вариант2:
view-date.php<section class="article-list">
<h5><?= $date?> </h5>
<?php foreach ($data as $news) : ?>
<div class="article"> <?php /* код из _list_item.php */ ?> </div>
<?php endforeach; ?>
</section>
Используется фреймворк YII2, основной код отвечающий за рендер:
public function renderPhpFile($_file_, $_params_ = [])
{
ob_start();
ob_implicit_flush(false);
extract($_params_, EXTR_OVERWRITE);
require($_file_);
return ob_get_clean();
}
В первом варианте, генерация элемента списка в отдельной вьюшке, т.к. она используется ещё в некоторых места проекта - довольно удобно вносить изменения. Но списки большие и тут такой вопрос: как часто php обращается к этому файлу? На каждый элемент массива идет запрос к дисковой системе или единожды? Помогает ли opcache?