0

我已经按照 Composer 的描述安装了 Httpful,并在 composer.json 中添加了以下内容:

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

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

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

我错过了一些步骤?

先感谢您

4

2 回答 2

10

与这个包名相关的类与 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 的 Response 类混淆。

编辑:

在 Laravel 中,您可以为类创建别名。编辑您的 app/config/app.php 并在aliases数组中添加:

'aliases' => array(
         ....

     'Httpful'      => '\Httpful\Request',
),

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

$response = Httpful::get($url)->send();
于 2013-10-27T23:08:20.047 回答
5

您可能需要做composer update而不是composer install.

不同之处在于文件install中的任何内容composer.lock,而update将选择添加到composer.json文件中的任何新依赖项,然后将它们写入composer.lock文件。

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

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

于 2013-10-28T13:58:24.757 回答