我正在寻找在PHP中实现REST客户端,并且以前一直在使用CakePHP Webservice Behavior的修改版本,这与我正在寻找的非常接近,但我不是在构建Cake ,所以这不在列表中。
我正在寻找一个REST客户端,它允许我发出基本的REST请求并返回请求的标题/正文。可选但需要的功能:
我通过other SO threads阅读并找到了一堆无用的答案,主要包括“只是自己写,不难”或“使用cURL” (即与前一个相同)或“这里是一个代码片段,它将做到这一点”(当然没有建立或强大)。 This question是最有帮助的,但它有上述内容,加上其作者发布的两个self-rolled libraries非常基本,并且缺少上述某些功能,而他们' d可能做的伎俩,很难像我想的那样建立或维持。
这个问题也链接到Guzzle,它有相反的问题 - 虽然健壮且得到良好支持,但它看起来非常复杂,难以配置和设置,而且比我正在寻找的方式更多
所以:有没有人知道PHP的既定REST客户端只做REST请求,小而且专注(我想的是一个,也许是两个PHP文件),但是被广泛使用和支持?我不是在寻找HTTP使用的框架或革命 - 只是一个库来执行基本的REST请求。我不想再重新发明轮子,而且每天都有成千上万(如果不是数百万)的PHP项目使用REST,我很惊讶我没有找到这样的东西。
有许多高质量的REST服务器库可用 - 为什么不使用REST客户端?我基本上都在寻找类似Tonic的东西,但作为客户。 Pest(来自上方)看起来精心打造,并且距离最近,但我感到惊讶的是没有更成熟的东西。
答案 0 :(得分:11)
Guzzle中有很多高级功能,但我仍然认为您可以轻松地将其用于最低要求。
示例:
<?php
// Include the phar and register the autoloader
require 'guzzle.phar';
// Create a client for http://test.com (binding to a host is optional)
$client = new Guzzle\Http\Client('http://test.com');
// Attach the exponential backoff plugin to the client so that requests
// are retried automatically
$client->addSubscriber(Guzzle\Plugin\Backoff\BackoffPlugin::getExponentialBackoff());
// Create and send a GET request to grab the response
$response = $client->get('/foo.json')->send();
// Dump the JSON response data as an array
var_dump($response->json());
答案 1 :(得分:6)
您可以查看Requests甚至HTTP PECL library。但是,这些仅涉及HTTP请求/响应过程。您可能正在寻找更多? REST设计与HTTP协议非常相似,因此没有更多的抽象可以 构建在它之上。
答案 2 :(得分:-2)
cURL相当冗长,PHAR需要一堆设置。如果你想要一个非常简单的REST选项,试试这个:
print file_get_contents('http://php.net/');