您当前的位置:首页 > 分类 > 技术资讯 > PHP > 正文

CI全局变量问题

发布时间:2013-05-24 21:55:23      来源:51推一把
【摘要】第一次正儿八经用CodeIgniter框架做项目,结果不会定义全局变量,只能在一个controller里定义一个public varable,每个函数调用,别的controller里还需要重新定义,view里还用不了,必须先传值。
第一次正儿八经用CodeIgniter框架做项目,结果不会定义全局变量,只能在一个controller里定义一个public varable,每个函数调用,别的controller里还需要重新定义,view里还用不了,必须先传值。

经过研究,在CI中使用全局变量需要自定义Library的形式定义全局变量,这里我介绍一个用config里配置的方法

一:library/globals.php

class Globals{
function __construct($config = array() )
{
   foreach ($config as $key => $value)
   { $data[$key] = $value; }
   $CI =& get_instance();//这一行必须加 $CI->load->vars($data);
}
}

二:/config/globals.php <-名字必须和library一致,定义具体变量

$config[globals_text] = "test text";
$config[globals_text1] = "test text11";

三:/config/autoload <-配置自动加载项,加载global library

$autoload[libraries] = array(database, session, xmlrpc);
$autoload[libraries] = array(globals);

四:用数组传递参数,代替某些全局变量