yii的局部静态化 [ 技术分享 ]
这段时间在做一个比较大的系统涉及严格的权限控制,系统的menu都是权限判断后动态生成,目前我们采取的一个比较苦逼的方法是render把menu参数传到views层,然后$this->_menu输出,这样写起来简单,可是每次跳转到新的页面都需要加载相应的controller和rest API重新生成,加载的速度慢性能不佳,故在思考如何静态化这个menu的问题。
方式一:用ajax做页面的局部加载 方式二:用iframe标签,把菜单和body分成两个页面 方式三:controller生成_menu数据后存到一个json或者JavaScript文件中,一类用户对应一个文件,controller端判断出用户的角色组后告诉前端该调用哪个文件,这样也不需要去刷数据库每次就快多了。 然而这个我自认为是最好的方法被老大否决了(流泪),方式一和方式二都导致前端做大改,然而这次系统的前端是我做,(再次流泪)。
小伙伴们还有啥好方法没,大家伙一起聊聊呗,这样显而易见的问题,搞不好你老板下次就让你做了,恩,苦笑了一下
共 5 条回复
-
huaixiaoya 回复于 2015-10-13 19:29 举报
用widget把这个菜单模块化
在第一次加载的时候根据用户身份生成菜单 然后静态化 添加缓存标识
如果用户身份变了 再次生成 如果没变 就直接读取静态化的
这个怎么样
summer914
注册时间:2015-07-22
最后登录:2016-02-22
在线时长:7小时55分
最后登录:2016-02-22
在线时长:7小时55分
- 粉丝26
- 金钱405
- 威望30
- 积分775