如何在Laravel 4中自动加载Guzzle?

Iai*_*ain 27 php laravel composer-php guzzle laravel-4

我怎样才能在Laravel 4中自动加载Guzzle

我尝试创建一个新的GuzzleHttp/Client时遇到以下错误:

Symfony \ Component \ Debug \ Exception \ FatalErrorException
Class 'GuzzleHttp\Client' not found
Run Code Online (Sandbox Code Playgroud)

我在composer.json自动加载部分中进行了以下设置:

autoload: {
    "psr-0": {
        "Guzzle\\": "src/"
    }
}
Run Code Online (Sandbox Code Playgroud)

Ant*_*iro 45

你不需要将Guzzle添加到你的composer.json中,它已经被它自己的composer.json自动加载了.

Guzzle 4

需要PHP 5.4.x +

composer require "guzzlehttp/guzzle" "~4.0"
Run Code Online (Sandbox Code Playgroud)

创建客户端:

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

得到结果:

$response = $client->get('http://api.github.com/users/antonioribeiro');

dd($response->getBody());
Run Code Online (Sandbox Code Playgroud)

Guzzle 3

安装它:

composer require "guzzle/guzzle" "~3.0"
Run Code Online (Sandbox Code Playgroud)

创建设置基本URL的客户端:

$client = new \Guzzle\Service\Client('http://api.github.com/users/');
Run Code Online (Sandbox Code Playgroud)

得到你的回复:

$username = 'antonioribeiro';

$response = $client->get("users/$username")->send();
Run Code Online (Sandbox Code Playgroud)

并显示它:

dd($response);
Run Code Online (Sandbox Code Playgroud)

如果仍然无法运行,请检查文件vendor/composer/autoload_psr4.php,Guzzle必须出现在其中.如果没有,请删除您的供应商文件夹并重新安装:

rm -rf vendor
rm composer.lock
composer install
Run Code Online (Sandbox Code Playgroud)

  • Guzzle想出了重命名他们从版本3(使用`\ Guzzle`)到4(使用`\ GuzzleHttp`)时使用的命名空间的想法.他们说他们这样做是为了允许同时使用这两个版本,这在技术上是正确的,但最终它的行为就像一个完全不同的产品. (3认同)