求助一个tp调用discuz的$_G全局变量的问题。了解discuz!x的求进来一下......

浏览:2640 发布日期:2013/12/07 分类:求助交流 关键字: discuz $_G
因为想做discuz和tp程序的整合,想投机取巧想调用discuz的$_G全局变量,直接来获取现在论坛的登陆情况和用户信息,我把他写成了一个类,全局调用。<?php
class UserAction extends Action{
    
    function logininfo(){
        
        include '../bbs/source/class/class_core.php';
        $discuz = & discuz_core::instance();//以下代码为创建及初始化对象
        $discuz->cachelist = $cachelist;
        $discuz->init();//以上是调用discuz公共执行类等核心代码
        global $_G;
        $arr1= array(
            'uid'=>$_G['uid'],
            'username'=>$_G['username'],
            'adminid'=>$_G['adminid'],
            'groupid'=>$_G['groupid'],
            'sid'=>$_G['sid'],
            'formhash'=>$_G['formhash'],
            'connectguest'=>$_G['connectguest'],
            'timestamp'=>$_G['timestamp'],
            'starttime'=>$_G['starttime'],
            'clientip'=>$_G['clientip'],
            'referer'=>$_G['referer'],
            'charset'=>$_G['charset'],
            'gzipcompress'=>$_G['gzipcompress'],
            'authkey'=>$_G['authkey'],
        );
        //dump($arr1);
        return $arr1;
        
        
    }
    
}
?>
然后现在这个类获取信息什么都可以正常,但是在使用的过程中发现,只要我的控制器里使用了M方法discuz就会报错,如图


像是这里<?php
class TestAction extends Action{
    function test(){
        $user=new UserAction();
        $user_login_info=$user->logininfo();     
        $this->assign('userinfo',$user_login_info);  
        //$local=new Model('Local');        
        $this->display();        
    }   
}
?>
如果我把$local=new Model('Local');这句代码备注掉,模板可以正常显示{$userinfo['username']}等变量。

但是不备注$local=new Model('Local');就会报错。

总而言之,他们2个犯冲,只能显示其一。

是discuz的问题嘛?有办法解决吗?求帮助......

不胜感激
最佳答案
评论( 相关
后面还有条评论,点击查看>>