Apabila menghadapi ralat "Undefined property: $client", cuba dapatkan maklumat.
P粉329425839
P粉329425839 2023-08-26 23:10:36
0
2
415
<p>Saya menggunakan Laravel v5.8 dan guzzlehttp v7.4 dan cuba menulis pengawal ini untuk mendapatkan beberapa maklumat: </p> <pre class="brush:php;toolbar:false;">fungsi awam __construct() { $client = new Client(['base_uri' => 'https://jsonplaceholder.typicode.com/']); } fungsi awam getInfo(Minta $request) { cuba { $respons = $this->client->request('GET', 'posts'); dd($respons->getContents()); } tangkapan (ClientException $e) { dd($e); } }</pre> <p>Tetapi apabila saya memanggil kaedah <code>getInfo</code> <p><strong>Sifat tidak ditentukan: AppHttpControllersTavanmandAppResultController::$client</strong></p> <p>Walau bagaimanapun dokumentasi mengatakan untuk memanggil uri seperti ini. </p> <p>Jadi apa masalahnya di sini? Bagaimanakah saya boleh menyelesaikan masalah ini? </p>
P粉329425839
P粉329425839

membalas semua(2)
P粉842215006

Jadikan $client pembolehubah global kelas ini.

Kemudian tetapkan nilai dalam pembina:

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

Selamat mengekod...

P粉621033928

Skop pembolehubah $client anda terhad kepada bahagian dalam pembina. Jika anda ingin mengaksesnya di tempat lain, anda perlu menetapkannya kepada beberapa jenis atribut kelas

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');
    //...
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!