未找到Laravel Class'App\Http\Controllers\GuzzleHttp\Client'

Ted*_*ath 3 php laravel composer-php laravel-5 guzzlehttp

我已经安装了客户端,并使用composer dump autoload进行了更新,但我仍然遇到了同样的错误.在通过composer安装后,需要在项目目录中使用guzzlehttp/guzzle:~6.0.

 $client = new GuzzleHttp\Client(); 
Run Code Online (Sandbox Code Playgroud)

为什么它没有工作,为什么它甚至引用了错误的目录?

cee*_*yoz 16

您将希望熟悉PHP 命名空间.

Laravel中的大多数文件都是命名空间.对命名空间内的函数的调用在该命名空间内开始,但有两个例外:

如果你用a启动类名\,那就告诉PHP从根级命名空间开始:

$client = new \GuzzleHttp\Client(); 
Run Code Online (Sandbox Code Playgroud)

或者,你可以把:

use GuzzleHttp\Client;
Run Code Online (Sandbox Code Playgroud)

在文件的顶部(你会在整个Laravel的默认文件中看到很多这些),然后做

$client = new Client();
Run Code Online (Sandbox Code Playgroud)