Discuz教程网

[二次开发] 通过THINKPHP调用discuz的$_G全局变量

[复制链接]
authicon dly 发表于 2012-10-6 16:49:56 | 显示全部楼层 |阅读模式
这个是bbs2/config.bbs.inc.php
代码如下:
  1. <?php
  2. require '../bbs2/source/class/class_core_smart.php';//引入系统核心文件

  3. $discuz = & discuz_core::instance();//以下代码为创建及初始化对象
  4. $discuz->cachelist = $cachelist;
  5. $discuz->init();//以上是调用discuz公共执行类等核心代码

  6. //$_G是个大数组
  7. $dddaaaccc124d1= array(
  8. 'uid'=>$_G['uid'],
  9. 'username'=>$_G['username'],
  10. 'adminid'=>$_G['adminid'],
  11. 'groupid'=>$_G['groupid'],
  12. 'sid'=>$_G['sid'],
  13. 'formhash'=>$_G['formhash'],
  14. 'connectguest'=>$_G['connectguest'],
  15. 'timestamp'=>$_G['timestamp'],
  16. 'starttime'=>$_G['starttime'],
  17. 'clientip'=>$_G['clientip'],
  18. 'referer'=>$_G['referer'],
  19. 'charset'=>$_G['charset'],
  20. 'gzipcompress'=>$_G['gzipcompress'],
  21. 'authkey'=>$_G['authkey'],
  22. );
  23. print_r($dddaaaccc124d1);
  24. $var='test';
  25. return $dddaaaccc124d1;

  26. ?>
复制代码
可以获取到$dddaaaccc124d1数组,能print_r出来。
但是我在ThinkPHP/Lib/UserAction.class.php写了一个index方法,访问地址:http://localhost/smart_bendi/web/User-index
却只能获取到数组下标,尝试的在刚才的文件里定义一个$var='test';却可以获取到。
输出结果:
Array ( [uid] => [username] => [adminid] => [groupid] => [sid] => [formhash] => [connectguest] => [timestamp] => [starttime] => [clientip] => [referer] => [charset] => [gzipcompress] => [authkey] => ) test

解决方法,写成了一个类,方便调用。
下面是代码:
  1. <?php
  2. class UserAction extends Action{

  3. function logininfo(){

  4. include '../bbs/source/class/class_core.php';
  5. $discuz = & discuz_core::instance();//以下代码为创建及初始化对象
  6. $discuz->cachelist = $cachelist;
  7. $discuz->init();//以上是调用discuz公共执行类等核心代码
  8. global $_G;
  9. $arr1= array(
  10. 'uid'=>$_G['uid'],
  11. 'username'=>$_G['username'],
  12. 'adminid'=>$_G['adminid'],
  13. 'groupid'=>$_G['groupid'],
  14. 'sid'=>$_G['sid'],
  15. 'formhash'=>$_G['formhash'],
  16. 'connectguest'=>$_G['connectguest'],
  17. 'timestamp'=>$_G['timestamp'],
  18. 'starttime'=>$_G['starttime'],
  19. 'clientip'=>$_G['clientip'],
  20. 'referer'=>$_G['referer'],
  21. 'charset'=>$_G['charset'],
  22. 'gzipcompress'=>$_G['gzipcompress'],
  23. 'authkey'=>$_G['authkey'],
  24. );
  25. //dump($arr1);
  26. return $arr1;


  27. }

  28. }
  29. ?>
复制代码




上一篇:ThinkPHP获取Discuz的信息之后就不能实例化Thinkphp本身的模型的原因分析
下一篇:Discuz X2.5的发帖错误Duplicate entry '%s' for key %d问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 03:33

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表