用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3628|回复: 10
收起左侧

[已解决] 能不能让CI的缓存调用更简便

[复制链接]
发表于 2012-4-11 11:51:26 | 显示全部楼层 |阅读模式
$this->cache->file->get('xingji');  这样调用, 而且还要判断有没有存在 ,没有存在去读数据库,

有没有办法分装成一个简便的函数 啊, ,有没有高手给点建议代码
发表于 2012-4-11 15:30:24 | 显示全部楼层
自己写个函数封装,嘿嘿。
 楼主| 发表于 2012-4-11 16:31:41 | 显示全部楼层
jeongee 发表于 2012-4-11 15:30
自己写个函数封装,嘿嘿。

能写个给我参考吗
 楼主| 发表于 2012-4-13 11:47:54 | 显示全部楼层
有没有人啊
发表于 2012-4-13 12:23:49 | 显示全部楼层
zionwang 发表于 2012-4-11 16:31
能写个给我参考吗

你把你的那些检查代码放到一个函数里不就是封装吗。
检查就是用 if 语句,没有什么特殊的。
你可以具体说说你哪里不清楚,哪里有问题?
 楼主| 发表于 2012-4-13 16:35:49 | 显示全部楼层
Hex 发表于 2012-4-13 12:23
你把你的那些检查代码放到一个函数里不就是封装吗。
检查就是用 if 语句,没有什么特殊的。
你可以具体说 ...

就是每次都调用同一个函数,传一个'name' 或者其他参数, 可以取得不同的缓存, 缓存没取到去数据库
发表于 2012-4-13 18:10:20 | 显示全部楼层
zionwang 发表于 2012-4-13 16:35
就是每次都调用同一个函数,传一个'name' 或者其他参数, 可以取得不同的缓存, 缓存没取到去数据库 ...

伪 PHP 代码如下,详细代码都可以从手册复制粘贴。
PHP复制代码
function 封装函数($name)
{
    if (缓存不存在)
    {
        $value = 从数据库取数据; // 参考 http://codeigniter.org.cn/user_guide/database/index.html 学习如何从数据库取数据
    }
    else
    {
        $value = 从缓存取数据; // 参考 http://codeigniter.org.cn/user_guide/drivers/caching.html 学习如何从缓存取数据
    }
 
    return $value;
}
 
复制代码

评分

参与人数 1威望 +5 收起 理由
zionwang + 5 很给力!

查看全部评分

 楼主| 发表于 2012-4-15 08:51:57 | 显示全部楼层
Hex 发表于 2012-4-13 18:10
伪 PHP 代码如下,详细代码都可以从手册复制粘贴。

是这样逻辑, 但是读取数据库这如何封装, 每次的where不一样,调用的model 也不一样
发表于 2012-4-15 09:29:13 CI中国手机版 | 显示全部楼层
zionwang 发表于 2012-4-15 08:51
是这样逻辑, 但是读取数据库这如何封装, 每次的where不一样,调用的model 也不一样 ...

不是什么都能封装的,要根据你的使用情况去封装,通用的封装AR算一个,但是还没达到一个函数的程度。我建议先不要考虑封装,先复制粘贴,等你有想法了自然知道如何封装了,所谓量变到质变。
 楼主| 发表于 2012-4-15 09:38:06 | 显示全部楼层
Hex 发表于 2012-4-15 09:29
不是什么都能封装的,要根据你的使用情况去封装,通用的封装AR算一个,但是还没达到一个函数的程度。我建 ...

哎 , 还真不想复制黏贴,最不喜欢代码不重用

本版积分规则