2014-03-27 33 views
17

我在laravel 4上构建一个API,并返回json结果。对于API,我创建了一个文件夹。现在我为Web应用程序创建了另一个外部项目,我想要的是从laravel应用程序控制器访问API函数。 为了更加清楚,我如何从laravel控制器发出外部API请求?从控制器调用外部API函数,LARAVEL 4

+0

看到这个答案在stackoverflow中问了另一个类似的问题,使用guzzle调用外部API http://stackoverflow.com/a/32569599/2293686 –

回答

34

您可以使用Guzzle

安装:

创建客户端设置基本URL:

$client = new \Guzzle\Service\Client('http://api.github.com/users/'); 

让您的回应:

$response = $client->get("users/$username")->send(); 

并显示它:

dd($response); 

但是,如果你正在尝试遵循MVC模式,你不应该直接在控制器做到这一点,所以创建一个服务类,你从你的控制器或你的仓库打电话,做这项工作适合你。

+1

编辑,因为Guzzle刚刚推出版本4,这是一个版本3的答案。 –

+0

现在它的版本5不再需要cURL才能发送HTTP请求。如果未安装cURL,Guzzle将使用PHP流包装发送HTTP请求。或者,您可以提供您自己的用于发送请求的HTTP处理程序。 – Knights

+2

是不是已经列入Laravel? (我在运行作曲家更新时看到过) – naneri