遇到"Undefined property: $client"错误时,尝试获取信息的操作
P粉329425839
P粉329425839 2023-08-26 23:10:36
[PHP讨论组]

我正在使用 Laravel v5.8 和 guzzlehttp v7.4,并尝试编写这个控制器来获取一些信息:

public function __construct()
    {
        $client = new Client(['base_uri' => 'https://jsonplaceholder.typicode.com/']);
    }
    public function getInfo(Request $request)
    {
        try {
            $response = $this->client->request('GET', 'posts');
            
            dd($response->getContents());
        } catch (ClientException $e) {
            dd($e);
        
        }
    }

但是当我调用 getInfo 方法时,我收到以下错误信息:

未定义属性:App\Http\Controllers\Tavanmand\AppResultController::$client

然而文档中说要像这样调用 uri。

那么这里出了什么问题?我该如何解决这个问题?

P粉329425839
P粉329425839

全部回复(2)
P粉842215006

$client作为此类的全局变量。

然后在构造函数中设置值:

public $client
    public function __construct()
    {
        $this->client = new Client(['base_uri' => 'https://jsonplaceholder.typicode.com/']);
    }

愉快的编码...

P粉621033928

你的$client变量的作用范围仅限于构造函数内部。如果你想在其他地方访问它,你需要将它赋值给某种类属性;

private $client;
    
public function __construct()
{
    $this->client = new Client(['base_uri' => 'https://jsonplaceholder.typicode.com/']);
}

public function getInfo(Request $request)
{
    try {
        $response = $this->client->request('GET', 'posts');
    //...
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号