Httpful和Laravel,找不到错误类'Httpful'

时间:2013-10-27 17:05:11

标签: php laravel laravel-4 httpful

我已经安装了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'

我错过了一些步骤?

提前谢谢

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:5)

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

差异为install将来自composer.lock文件中的任何内容,而update将获取添加到composer.json文件中的所有新依赖项,并且然后将这些内容写入您的composer.lock文件。

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

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