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

请教一下怎么在hooks里调用数据库类?

[复制链接]
发表于 2008-6-27 17:39:42 | 显示全部楼层 |阅读模式
因为刚好需要用CI提供的钩子解决一个应用问题,官方的说明文档只说了怎么设置钩子,但没有说怎么在钩子的函数或类中使用$this->db类似的类库啊?我的数据库类是自动加载的,并且我使用的钩子挂载点是在pre_controller点,应该来说类库已经是加载了的,只是我不知道怎么调用,哪位大哥帮帮忙?我手上没调试工具,只有一个notepad++..........
发表于 2008-6-27 23:07:22 | 显示全部楼层
get_instance() 不行?
 楼主| 发表于 2008-6-28 15:19:06 | 显示全部楼层
我好像是在文档的哪部份,有看到过get_instance() 的介绍。。。
嗯,等我过会儿研究下
 楼主| 发表于 2008-6-28 16:22:08 | 显示全部楼层
Oh No............
get_instance() 不行,引不过来。。。
发表于 2008-6-28 22:40:40 | 显示全部楼层
有空我测试一下,最近作东西也没用到钩子,呵呵
 楼主| 发表于 2008-6-29 02:17:05 | 显示全部楼层
get_instance() 引不到,我想是因为在这个挂载点时核心类库还未加载,所以引过来为NULL值^
然后经群友提点,想到用Loader,但是没成功。。
用Zend Studio Debug貌似很烦,因为URL中不能带有非法字符。。
直接是晕了!
发表于 2009-2-17 11:48:18 | 显示全部楼层
楼主用get_instance()时用&引用了吗?
$this->CI = &get_instance();
$this->CI->db->...
发表于 2009-2-17 13:30:56 | 显示全部楼层
应该是 get_instance() 还没定义呢吧?
发表于 2009-2-17 13:43:28 | 显示全部楼层
不是吧,get_instance()是在base4.php(base5.php)中定义的,pre_controller是指在控制器加载前进行,应该require过了base4.php(php4环境下)。我觉得就是没有引用方式调用。
发表于 2009-2-17 17:13:05 | 显示全部楼层
老兄在挖坟。。。

本版积分规则