crossyou 发表于 2010-3-15 22:19:47

CI如何自定义一个全局函数 来调用model???

看到手册里说 helper 是不能访问CI资源的,
可是在使用的时候我就是想通过一个全局的函数访问CI的资源,有没有 办法?

saturn 发表于 2010-3-15 22:41:14

helper如果想访问CI资源也不是不可能的。
比如: $CI = & get_instance();
但并不推荐这么做,为什么呢?helper一般都是通用函数的集合,用来处理某些局部的任务,比如字符串过滤。如果是与你具体需求相关的功能,就最好放在某个controller/model/library里面。

基于你的需求,一般的做法是写一个library,然后autoload自动加载,就可以当作“全局”了。

废话一些(我通常很喜欢引申,请忍受):对于OOPHP编程来说,全局变量越少,你的程序就越“安全”,越容易控制。

crossyou 发表于 2010-3-16 08:12:44

回复 2# saturn

我为什么有这个想法,因为我看到,在Controller中,都是 $this->load->view('test.php'),的方式来调用的,并且在view中也可以这样写,那是不是说,这个test.php是这个对象一部分?

我不想在test.php中用$this->load->view('header.php')的这种方式来调用,而用一个函数比如get_view('header')来达到想到的结果呢?

visvoy 发表于 2010-3-16 08:21:43

function get_view($v,$return=false){
$CI=&get_instance();
if($return)return $CI->load->view($v,true);
$CI->load->view($v);
}
多看手册

crossyou 发表于 2010-3-16 08:23:37

回复 4# visvoy

谢谢,看看手册先。
页: [1]
查看完整版本: CI如何自定义一个全局函数 来调用model???