На любом шаблонизаторе я могу разнести структуру всех типовых блоков по отдельным файламДля этого есть виджеты и блоки в yii
а главное явный контроль над переменными передаваемыми в каждый из включаемых блоковВсе так же и в yii без шаблонизаторов, разные view, разные блоки, разные виджеты и передача переменных в них. При чем более оптимально, чем средствами шаблонизаторов. Вы точно знаете yii?
Шаблонизатор соберет прекешенную версию общего шаблона в один файлуправление кешем в yii крайне простое, так что проблем сделать тоже без шаблнизаторов вообще не проблема.
В итоге либо ваш код работает медленнее, либо поддерживать ваш проект долго дорого и неудобно.Вопрос кривых рук, а не yii. Если все виджетами и блоками сделано, то все структурировано и удобно. А учение работать с кешем решает вопрос медленной работы. Вы точно знаете yii? Или в Вас говорит опыт работы с голым php?
<?= strip_tags(substr($item['subtitle'],0,150).'...')?>
в Yii2 есть helper-ы, так что например Html::truncateWords($string,$length,$suffix = '...')
выглядит весьма читабельно, плюс можно расширить. Так что для yii использовать шаблонизаторы есть смысл только если не знать yii. [
'attribute' => 'states.name',
'format' => 'raw',
'label' => 'Статус платежа',
'value' => function ($name) {
switch ($name) {
case 1 : $class = 'fa fa-question'; break;
case 2 : $class = 'fa fa-times'; break;
case 3 : $class = 'fa fa-check'; break;
}
return Html::tag('div',Html::tag('span','', ['class'=>$class])
. ' ' . $name);
}
]
Там везде выдается "не определено"
print_r($items)
есть подозрение, что рано Вы взялись за ООП и надо почитать про php.