Httpful 和 Laravel,找不到错误类“Httpful”


Httpful and Laravel, error Class 'Httpful' not found

我已经安装了Httpful,如Composer向composer.json添加以下内容:

{
    "require": {
        "nategood/httpful": "*"
    }
}

我正在使用Laravel 4,所以我跑了composer install我已经检查了插件是否已安装并在那里,实际上在 laravel 的供应商文件夹下我可以找到它。但是我不断收到以下错误:

ERROR: exception 'Symfony'Component'Debug'Exception'FatalErrorException' with message 'Class 'Httpful' not found'

我缺少一些步骤?

提前谢谢你

与此包名相关的类与 Laravel 的 Response 类冲突,因此这是您在 Laravel 中使用它的方式:

$url = "http://api.openweathermap.org/data/2.5/weather?lat=22.569719&lon=88.36972";
$response = 'Httpful'Request::get($url)->send();
echo $response->body->name."<br>";
echo $response->body->weather[0]->description;

该类不是Httpful,而是Response,所以你必须添加正确的命名空间,这样它就不会被 Laravel 的响应类混淆。

编辑:

在Laravel中,您可以为类创建别名。编辑您的应用程序/配置/应用程序.php然后在aliases数组中添加:

'aliases' => array(
         ....
     'Httpful'      => ''Httpful'Request',
),

您将能够以这种方式使用它:

$response = Httpful::get($url)->send();

您可能需要执行composer update而不是composer install

区别在于install将按照composer.lock文件中的任何内容进行,而update将选取添加到composer.json文件中的任何新依赖项,然后将其写入composer.lock文件。

注意:install 通常应在生产中使用,以从composer.lock文件中获取最新版本,而 update 通常是开发中使用的命令,用于获取更新的依赖项。

这也意味着您应该将composer.lock添加到您的 git 存储库中,即使默认情况下它在新的 Laravel 项目中在您的.gitignore文件中。