codeigniter CI 框架 在helper 中 使用 全局变量 方法

如果你的helper 像这样
$aa = 'test';
function test{
 

global $aa;
 echo $aa; //not worked
}
因为 CI框架 会把$GLOBALS这个全局数组所有变量注销掉 所以使用不了全局数组
详情 可以看system/input.php
查找     function _sanitize_globals() 既可以看到注销的全局数组
所以 需要像这样使用全局数组

首先 在application 中 config 下 写一个配置文件 然后
名字为sglobal.php
$config['SGLOBAL']    = array(
                        'i' => 0,
                        'block_search' => array(),
                        'block_replace' => array(),
                        'sub_tpls'=> array(),
    );

在你的helper中这样使用
    //更改全局数组值
    $CI =& get_instance();
    //得到数组
    $_SGLOBAL = ($CI->config->item('SGLOBAL'));
    //处理数组中的数据
    $_SGLOBAL['i']++;
    //设置数组的值
    $CI->config->set_item('SGLOBAL',$_SGLOBAL);
然后在 其它任意函数内 使用
    $CI =& get_instance();
    //得到数组
    $_SGLOBAL = ($CI->config->item('SGLOBAL'));
    var_dump($_SGLOBAL);
便可以看到 你的 i 变化了 累加了1
posted on 2012-11-20 23:38  浩瀚孤鸿  阅读(875)  评论(0编辑  收藏  举报