我姓!,名!!
- 我姓!,名!! 2021-05-21 已签到连续签到1天,获得了5个金钱
- 我姓!,名!! 2021-05-19 已签到连续签到1天,获得了5个金钱
- 我姓!,名!! 2021-05-14 已签到连续签到2天,获得了10个金钱
- 我姓!,名!! 2021-05-13 已签到连续签到1天,获得了5个金钱
- 我姓!,名!! 赞了回答
首先,楼上说的 “在基类控制器里获取” 这个方案 肯定是 可行的,这里 另外提供一个 低耦合 的方案
1、写一个行为,比如叫
app\lan\MyBehavior
,在这个 行为 中提供一个方法,比如叫getLatestArticle
,在这个方法里 读取数据库 返回 最近发布的文章2、配置文件中,将这个行为附加到 当前的 控制器中,这样 每一个被请求的控制器 就都有了
getLatestArticle
这个方法'on beforeAction' => function() { Yii::$app->controller->attachBehavior('MyBehavior', 'app\lan\MyBehavior'); }
3、footer 里这样调用
<?= $this->context->getLatestArticle() ?>
对所有的控制器 不需要 任何代码的改动
- 我姓!,名!! 2021-05-11 已签到连续签到2天,获得了10个金钱
- 我姓!,名!! 2021-05-10 已签到连续签到1天,获得了5个金钱
- 我姓!,名!! 2021-05-07 已签到连续签到2天,获得了10个金钱
- 我姓!,名!! 2021-05-06 已签到连续签到1天,获得了5个金钱
- 我姓!,名!! 2021-05-01 已签到连续签到6天,获得了20个金钱