谁一开始就是大神?

Layout中的数据获取问题[2.0]

在 footer 中获取最近发布文章的标题,这个 footer 是在 layout 中的,这怎么办呢?

每个控制器都写一次读取数据库?

首先,楼上说的 “在基类控制器里获取” 这个方案 肯定是 可行的,这里 另外提供一个 低耦合 的方案
1、写一个行为,比如叫 app\lan\MyBehavior ,在这个 行为 中提供一个方法,比如叫 getLatestArticle,在这个方法里 读取数据库 返回 最近发布的文章
2、配置文件中,将这个行为附加到 当前的 控制器中,这样 每一个被请求的控制器 就都有了 getLatestArticle 这个方法
3、footer 里这样调用
对所有的控制器 不需要 任何代码的改动
在基类控制器里面获取就好了
缓存处理一下
我之前碰到过类似的情况,用的野路子,比较暴力。就是直接在 layout 文件中引入模型,在需要的地方查询并输出,这种做法可行,但是可能会破坏构架结构。。。

赞(0) 打赏
未经允许不得转载:菜鸟之家 » Layout中的数据获取问题[2.0]

评论 抢沙发

登录

找回密码

注册