数据共享,可以用静态类特有的机制,将数据注册到静态类当中。
全局应用,然后存储数据regist::set("aa", ...
set 和get是很好! 这个是CS和BS的区别,BS是瘦客户端,不像CS你可以把数据都缓存到客户机器上。。。当然你可以像楼上各位说的把数据缓存到服务器上,所以不是框架的问题。 模块的思想本来就是分离的,如果要用相同数据的话最好还是想别的办法,ci是单例模式的不知给ci实例一个变量可不可以在其他模块调用到 回复楼主:
问题提的很好,大家也积极参与。能否问下 你的问题(两个控制器下想共享数据) 具体到什么业务有这种需求? 给大家带点实际项目经验也好啊。
class regist{
static $date;
public function set($name,$value){ self::$data[$name]=$value}
public function get($name){return self::$data[$mame];}
}
paperen 发表于 2012-3-9 13:19
我也有一个想法,扩展CI的DB实现查询缓存(或者可以这么叫),而不用像ihymk那样手动set与get
当
把KEY做一次MD5不就可以了么?没有做不到只是想不到而已,哈哈哈 多控制器调用时脑残的做法,也可能有人会说在V中调用某一个控制器之类的,你可以使用Model来规避,或者我建议使用CSMV这种逻辑,通过一种service层来处理业务逻辑和定制钩子之类的。www.icvio.com,这个项目就是用这种逻辑开发的项目 我现在的做法是增加service层,把共享的数据放在service层,在控制器或者视图里加载。 ihymk 发表于 2010-5-6 12:24
数据共享,可以用静态类特有的机制,将数据注册到静态类当中。
全局应用,然后存储数据regist::set("aa", ...
数据放到内存里了,这个应该可以实现数据缓存,减轻db压力
页:
1
[2]