我是 PHP 和 Laravel 的新手,我发现在尝试添加 Guzzle 库时遇到了一些困难(我可以将其称为库PHP俚语,我来自Java ......)。
所以我遵循了这篇SO帖子的建议:Installation Guzzle in Laravel 5
我已将此依赖项添加到我的 composer.json 文件中:“guzzle / guzzle”:“*”
我已将其添加到原始文件的此部分(由Laravel生成):
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.0",
"symfony/css-selector": "3.1.*",
"symfony/dom-crawler": "3.1.*",
"guzzle/guzzle":"*"
},
我不知道它是不是正确的位置。
然后我将 composer update 语句执行到我的shell中(从我的项目的根目录)并获得此输出:
Andrea@Andrea-PC MINGW64 ~/Documents/Betrivius/WorkSpace/betriviusExtranet (master)
$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Package guzzle/guzzle is abandoned, you should avoid using it. Use guzzlehttp/guzzle instead.
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postUpdate
> php artisan optimize
Generating optimized class loader
The compiled class file has been removed.
我认为没有错误,所以我认为它已成功完成。
问题是我无法在我的项目中找到这些依赖项,并且在类定义之前我尝试使用它:
use GuzzleHttp\Exception\GuzzleException;
use GuzzleHttp\Client;
我收到此错误消息:
Undefine namespace
Referenced namespace is not found
具体来说,我在这4个红色名称空间上获得了一条错误消息:
为什么呢?怎么了?我错过了什么?我该如何解决这个问题?
答案 0 :(得分:3)
如上所述,您应该使用guzzlehttp/guzzle
,而不是guzzle/guzzle
。
如果您确实需要使用guzzle/guzzle
,则可以通过Guzzle
命名空间导入,而不是GuzzleHttp
,这是为新版本保留的。
答案 1 :(得分:2)
guzzle / guzzle被废弃,你应该避免使用它。请改用guzzlehttp / guzzle
使用guzzlehttp / guzzle