Основная идея - использовать именно классы для отрисовки вьюшек.
В чём плюсы:
- Использование Find Usages в IDE
- Указание и нативная проверка обязательных параметров
- phpdoc (описание) для параметров
- Использование разделения и поиска вьюшек через namespace’ы
<?php
declare(strict_types=1);
namespace site\views;
use yii\helpers\Html;
use zalatov\viewfile\ViewFile;
/**
* Главная страница.
*
* @property-read SiteController $controller Контроллер
*
* @author Zalatov Alexander <zalatov.ao@gmail.com>
*/
class Index_ViewFile extends ViewFile {
/**
* @param string $url Какая-то ссылка
* @param int $count Какое-то количество
*
* @author Zalatov Alexander <zalatov.ao@gmail.com>
*/
public function __construct(string $url, int $count) {
$this->renderer = function() use ($url, $count) {
?>
<?# Тут идёт любой код ?>
<?= Html::a($url, 'Список пунктов [' . $count . ']') ?>
<?};}}