Есть сайт на Yii2-basic, нужно получить данные с базы и выводить эти данные на всех страницах сайта(Блок с таблицей).
Какой правильный вариант решения данной задачи средствами Yii2?
Правильно ли будет добавить данный блок в views/layouts/main.php?
Получать данные из базы на уровне View это не очень хорошая практика... Лучше реализуйте виджет который будет получать эти данные из модели и рендерить соответствующий блок (передавая в него данные). А уже сам виджет выводите в views/layouts/main.php
Максим Федоров: Понял, Спасибо. И последний вопрос на последнюю минуту:)
В виджете, нужно работать через MVC? Типа так, если у меня есть выборка с бд:
Стуктура:
Папка MyTest
app\components\MyTest
Папка модели для работы с базой
app\components\MyTest\models\
в ней файл myTestWidget.php
class myTestWidget extends Widget{
public fubction init ()
{
// тут я обрабатываю логику работы виджета
// так же получаю данные с models
}
public function run()
{
// тут уже отправляю данные виджета на view
}
}