遇到"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變數的作用範圍僅限於建構函式內部。如果你想在其他地方存取它,你需要將它賦值給某種類別屬性;