国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

webman注解注入失敗

sourlime
/**
 * @Inject
 * @var RpcClient
 */
private $rpclient;

public function rpcTest(Request $request){
    $data = [
        'class'   => 'User',
        'method'  => 'get',
        'args'    => [100,'Tom',20], // 100 是 $uid,Tom 是 $name,20 是 $age
    ];
    $buffer = json_encode($data);
    $receive_data = $this->rpclient->client($buffer);
    return $receive_data;
}
public function rpcNewTest(Request $request){
    $new_rpclient = new RpcClient();
    $data = [
        'class'   => 'User',
        'method'  => 'get',
        'args'    => [100,'Tom',20], // 100 是 $uid,Tom 是 $name,20 是 $age
    ];
    $buffer = json_encode($data);
    $receive_data = $new_rpclient->client($buffer);
    return $receive_data;
}

rpcNewTest 可以正常執(zhí)行,rpcTest 提示沒有rpclient 變量。 已經(jīng)按照文檔修改配置config/container.php,并且重啟服務(wù)了,不知道什么原因。

3163 2 0
2個回答

walkor 打賞

只有Container::get() Container::make()創(chuàng)建的類實例才能自動注入。

如果你用的是 https://wenda.workerman.net/question/6057 里的RPC例子,想自動注入,把例子中

 $instances[$class] = new $class;

改成

 use support\bootstrap\Container; // 頭部記得加這個

 $instances[$class] = Container::get($class);
  • sourlime 2021-01-30

    我這邊是參考的http://www.wtbis.cn/doc/webman#/di這個注入寫法,參考 https://wenda.workerman.net/question/6057 這個問題自己封裝了一個rpc的client的service想自動注入到這個http的controller里

  • sourlime 2021-01-30

    我寫了一個RpcClient對應(yīng)的是注入文檔的Mailer的service,當(dāng)前貼代碼的文件相當(dāng)于User的controller

sourlime

已解決

  • 暫無評論
年代過于久遠(yuǎn),無法發(fā)表回答
??