Heim  >  Fragen und Antworten  >  Hauptteil

Wenn der Fehler „Undefinierte Eigenschaft: $client“ auftritt, versuchen Sie, Informationen abzurufen.

<p>Ich verwende Laravel v5.8 und guzzlehttp v7.4 und versuche, diesen Controller zu schreiben, um einige Informationen zu erhalten: </p> <pre class="brush:php;toolbar:false;">öffentliche Funktion __construct() { $client = new Client(['base_uri' => 'https://jsonplaceholder.typicode.com/']); } öffentliche Funktion getInfo(Request $request) { versuchen { $response = $this->client->request('GET', 'posts'); dd($response->getContents()); } Catch (ClientException $e) { dd($e); } }</pre> <p>Aber wenn ich die Methode <code>getInfo</code> aufrufe, erhalte ich die folgende Fehlermeldung: </p> <p><strong>Undefinierte Eigenschaft: AppHttpControllersTavanmandAppResultController::$client</strong></p> <p>In der Dokumentation heißt es jedoch, die URI so aufzurufen. </p> <p>Was ist hier also das Problem? Wie kann ich dieses Problem lösen? </p>
P粉329425839P粉329425839442 Tage vor417

Antworte allen(2)Ich werde antworten

  • P粉842215006

    P粉8422150062023-08-27 13:29:24

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

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

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

    愉快的编码...

    Antwort
    0
  • P粉621033928

    P粉6210339282023-08-27 10:48:41

    你的$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');
        //...
    }

    Antwort
    0
  • StornierenAntwort