遇到"Undefined property: $client"错误时,尝试获取信息的操作
P粉329425839
P粉329425839 2023-08-26 23:10:36
0
2
447
<p>我正在使用 Laravel v5.8 和 guzzlehttp v7.4,并尝试编写这个控制器来获取一些信息:</p> <pre class="brush:php;toolbar:false;">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); } }</pre> <p>但是当我调用 <code>getInfo</code> 方法时,我收到以下错误信息:</p> <p><strong>未定义属性:App\Http\Controllers\Tavanmand\AppResultController::$client</strong></p> <p>然而文档中说要像这样调用 uri。</p> <p>那么这里出了什么问题?我该如何解决这个问题?</p>
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');
    //...
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板