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

pm.*_*ese 0 php laravel laravel-4 httpful

我已经安装了Httpful,如Composer中所述添加到composer.json中:

{
    "require": {
        "nategood/httpful": "*"
    }
}
Run Code Online (Sandbox Code Playgroud)

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

ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Class 'Httpful' not found'
Run Code Online (Sandbox Code Playgroud)

我错过了一些步骤?

先感谢您

Ant*_*iro 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;
Run Code Online (Sandbox Code Playgroud)

该类不是Httpful,但是Response,所以你必须添加正确的命名空间,以免Laravel的Response类混淆.

编辑:

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

'aliases' => array(
         ....

     'Httpful'      => '\Httpful\Request',
),
Run Code Online (Sandbox Code Playgroud)

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

$response = Httpful::get($url)->send();
Run Code Online (Sandbox Code Playgroud)

  • 这非常有帮助,谢谢! (2认同)

fid*_*per 5

你可能需要composer update而不是composer install.

不同之处在于文件中install的任何内容composer.lock,同时update将获取添加到composer.json文件中的任何新依赖项,然后将这些依赖项写入您的composer.lock文件.

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

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