我已经安装了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'
我错过了一些步骤?
提前谢谢
答案 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
文件中。