Добрый день.
Для всего приложения хочу во View на ряду с View->title, добавить ещё View->subTitle.
Первое решение, которое пришло в голову - наследоваться от yii\web\View, добавить в наследника новое свойство и переопределить базовый класс View на свой через classMap. Но вычитал что такое решение является "грязным хаком".
В связи с этим вопрос: Как расширить базовый класс View своими свойствами кошерно? Или, возможно, я напрасно всё усложняю и есть какой то уже готовый способ?
Заранее спасибо всем ответившим.
Вы можете реализовать передачу параметров через View::params. Как это реализовано для тех же хлебных крошек. И не мучить себя попытками перенастроить и отнаследоваться от базового класса ради добавления полей.
$this->params['breadcrumbs'][] = $this->title;
Но и в наследовании нет какой-то "грязи". Это же ООП и наследование тут один из базовых принципов, как он может быть грязным приемом? Вопрос только в том, что бы в дальнейшем вы везде использовали свой View и не получили ошибок, если вдруг получите базовый.