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

[已解决] helper 辅助函数中可以调用model 和 library吗,如何调用?

[复制链接]
发表于 2010-3-17 11:24:58 | 显示全部楼层 |阅读模式
helper 辅助函数中可以调用model 和 library吗,如何调用?
比如说我在自己写的辅助函数中使用
$this->session->userdata('user_id');
就会报如下错误:
Fatal error: Using $this when not in object context in D:\wamp\www\mmbeep.cn\system\application\helpers\calendar_helper.php on line 6

我在控制器中有加载session类的
控制器的加载的model也不能在helper中使用

各位前辈,这是咋回事呢?
发表于 2010-3-17 11:43:17 | 显示全部楼层
需要先取得CI对象的引用
$CI = & get_instance();
然后就可以$CI->session->userdata('user_id');
不过不建议在helper中这么做
 楼主| 发表于 2010-3-17 11:57:55 | 显示全部楼层
非常感谢,我进步了一点。。。
发表于 2010-3-17 13:27:35 | 显示全部楼层
回复 3# luohuijun


    我的观点和huboo82的一样,不建议在helper中获取CI super object。因为helper里面都是一些web基础操作函数的集合(比如数组/日期),与你系统的需求实现并不应该有关系。

我个人对helper和plugins写出来的好坏有个评价标准,那就是你直接将其拿到其他的非CI项目中可以直接拿来用,无须做任何修改。
发表于 2010-3-22 15:20:17 | 显示全部楼层
完全同意楼上的观点。。

本版积分规则