PHP的简单但已建立/完整的REST客户端?

cin*_*ada 14 php rest http

我正在寻找在PHP中实现REST客户端,并且之前一直在使用CakePHP Webservice Behavior的修改版本,这与我正在寻找的非常接近,但我不是在Cake上构建,所以这是关闭的名单.

我正在寻找一个REST客户端,它允许我发出基本的REST请求并返回请求的标题/正文.可选但需要的功能:

  • HTTP基本身份验证
  • 重定向后
  • 备份并重新请求失败的请求

我通过其他 SO 线程阅读并发现了一堆无用的答案,主要包括"只是自己编写,不难"或"使用cURL"(即与前一个相同)或"这里是一个代码片段, "做到这一点"(当然没有建立或强大). 这个问题是最有帮助的,但它有上面的内容,加上他们的作者发布的两个自动 ,这些是非常基本的,并且缺少一些上述功能,虽然他们可能会做到这一点,但几乎没有按照我的意愿建立或维护.

这个问题也与Guzzle有关,后者存在相反的问题 - 虽然强大且支持良好,但它看起来非常复杂,难以配置和设置,而且比我正在寻找的方式更多.

所以:有没有人知道PHP的既定REST客户端只做REST请求,小而且专注(我想的是一个,也许是两个PHP文件),但是被广泛使用和支持?我不是在寻找HTTP使用的框架或革命 - 只是一个库来执行基本的REST请求.我不想再次重新发明轮子,并且每天都有成千上万(如果不是数百万)的PHP项目使用REST,我很惊讶我没有找到这样的东西.

有许多高质量的REST服务器库可用 - 为什么不是REST客户端?我基本上都在寻找像Tonic这样的东西,但作为一个客户. 害虫(从上面看)看起来很好,并且是最接近的,但我很惊讶没有更确定的东西.

Mic*_*ing 11

Guzzle中有许多高级功能,但我仍然认为您可以轻松地将其用于最低要求.

  1. 从他们的GitHub发布页面下载包含您需要的所有类的phar文件:https://github.com/guzzle/guzzle/releases
  2. 在您的应用程序中包含phar文件(这将为Guzzle配置自动加载器)
  3. 创建一个客户端
  4. 将ExponentialBackoffPlugin附加到客户端
  5. 从客户端发送请求

例:

<?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());
Run Code Online (Sandbox Code Playgroud)


Fra*_*ila 6

您可以查看请求甚至HTTP PECL库.但是,这些仅涉及HTTP请求/响应过程.您可能正在寻找更多?REST设计与HTTP协议非常相似,因此没有更多的抽象可以构建在它之上.