比如,菜单,网站底部信息,这些是在每个action下都要有的,每次都读取太麻烦,该怎样部署才方便。
首先,这部分数据属于经常要用且不会频繁变动的数据,所以要放在缓存中,这样不用每次都去查询数据库,节省数据库的开销。
其次,既然是公用的,那么就可以在基础控制器中去获取。比如你前台的控制器都继承FrontendBaseController,那么就可以在FrontendBaseController中获取这部分公用数据并传到页面上,这样你就不用在每个控制器中去获取了。
FrontendBaseController
这个不是该丢到公共模板下? yii默认的结构就是这样的。