遇到"Undefined property: $client"错误时,尝试获取信息的操作
P粉329425839
2023-08-26 23:10:36
<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>
将
$client
作为此类的全局变量。然后在构造函数中设置值:
愉快的编码...
你的$client变量的作用范围仅限于构造函数内部。如果你想在其他地方访问它,你需要将它赋值给某种类属性;