1 вариант:
В конфиге приложения
'on beforeAction' => function(){
//Ваш код который будет работать перед любым экшеном
},
2. вариант:
создаете контролер, наследуете остальные от него. И в нем тот же beforeAction
Можно сделать компонент и дергать его, так как он нужен при любом запуске приложения - это нормальная практика. В on beforeAction запускаем его метод, который получает и возможно кеширует данные. Потом в виджет передаем данные из него.