Lorsque vous rencontrez l'erreur « Propriété non définie : $client », essayez d'obtenir des informations.
P粉329425839
2023-08-26 23:10:36
<p>J'utilise Laravel v5.8 et guzzlehttp v7.4 et j'essaie d'écrire ce contrôleur pour obtenir des informations : </p>
<pre class="brush:php;toolbar:false;">fonction publique __construct()
{
$client = nouveau Client(['base_uri' => 'https://jsonplaceholder.typicode.com/']);
}
fonction publique getInfo(Request $request)
{
essayer {
$response = $this->client->request('GET', 'posts');
dd($response->getContents());
} catch (ClientException $e) {
jj($e);
}
}</pré>
<p>Mais lorsque j'appelle la méthode <code>getInfo</code>, j'obtiens le message d'erreur suivant : </p>
<p><strong>Propriété non définie : AppHttpControllersTavanmandAppResultController::$client</strong></p>
<p>Cependant, la documentation indique d'appeler l'uri comme ceci. </p>
<p>Alors, quel est le problème ici ? Comment puis-je résoudre ce problème? </p>
Créez
$client
une variable globale de cette classe.Puis définissez la valeur dans le constructeur :
Bon codage...
La portée de votre variable $client est limitée à l'intérieur du constructeur. Si vous souhaitez y accéder ailleurs, vous devez l'attribuer à une sorte d'attribut de classe ;