luohuijun 发表于 2010-3-17 11:24:58

helper 辅助函数中可以调用model 和 library吗,如何调用?

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中使用

各位前辈,这是咋回事呢?

huboo82 发表于 2010-3-17 11:43:17

需要先取得CI对象的引用
$CI = & get_instance();
然后就可以$CI->session->userdata('user_id');
不过不建议在helper中这么做

luohuijun 发表于 2010-3-17 11:57:55

非常感谢,我进步了一点。。。

saturn 发表于 2010-3-17 13:27:35

回复 3# luohuijun


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

我个人对helper和plugins写出来的好坏有个评价标准,那就是你直接将其拿到其他的非CI项目中可以直接拿来用,无须做任何修改。

avinmo 发表于 2010-3-22 15:20:17

完全同意楼上的观点。。
页: [1]
查看完整版本: helper 辅助函数中可以调用model 和 library吗,如何调用?