dongya9904 2016-09-23 21:55
浏览 31
已采纳

如何第三方应用程序访问Yii2(HumHub)

I want to give a 3rd party PHP application access to Yii2 user data (HumHub) and have tried this:

    function getUserId() {
      require_once('../protected/vendor/yiisoft/yii2/Yii.php');
      $yiiConfig = require('../protected/config/common.php');
      (new humhub\components\Application($yiiConfig));
      $user = Yii::$app->user->identity;

      return $user;
    }

This does not work. There are no errors up until new humhub\components\Application($yiiConfig) but then the 3rd party app breaks with no error thrown and the function does not return anything.

I did find this solution which does not work.

Is there are reason this does not work or is there an alternate solution to getting Yii2 user data properly?

  • 写回答

2条回答 默认 最新

  • dongsou3041 2016-09-24 12:02
    关注

    This is how to do it in HumHub V1.0

        require_once('../protected/vendor/yiisoft/yii2/Yii.php');
        $config = yii\helpers\ArrayHelper::merge(
            require('../protected/humhub/config/common.php'),
            require('../protected/humhub/config/web.php'),
            (is_readable('../protected/config/dynamic.php')) ? require('../protected/config/dynamic.php') : [],
            require('../protected/config/common.php'),
            require('../protected/config/web.php')
        );
        new yii\web\Application($config); // No 'run()' invocation!
    

    Now I can get $user object:

       $user = Yii::$app->user->identity;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据