2012-02-16 11 views
14

私はPHPでRESTクライアントを実装しているよ、と以前に私が探しています何にかなり近いである、CakePHP Webservice Behaviorの修正版を使用しているが、それはオフですので、私は、ケーキの上に構築していませんよリスト。シンプルだが確立された/完全なRESTクライアントfor PHP?

私は、私は基本的なRESTリクエストを作成し、リクエストのヘッダ/本文を取り戻すことを可能にするRESTクライアントを探しています。オプションですが、望ましい特徴:

  • HTTP基本認証
  • 後は
  • がオフバックアップと私はotherSOthreadsを読んできたし、発見した

失敗した要求の再要求のリダイレクト「あなた自身を書く、難しくない」または「cURLを使用する」(前のものと同じ)または「ここではそれを行うコードスニペット」(確かに確立されていないか、堅牢ではない) 。 This questionは、最も潜在的に有用であるが、それは上記を持ち、加えて非常に基本的であり、彼らはおそらくトリックは、ほとんどのように確立していないか、維持されているんだろうとしながら、上記の機能の一部が欠けており、その著者によって投稿2 self-rolledlibraries私が望むように。

この質問は、逆の問題があります。堅牢で十分にサポートされていますが、構成や設定が難しく、探している方法よりもはるかに複雑です。

ので:?誰がちょうど、小さなと集中RESTリクエスト(私は1つ、多分2つのPHPファイルを考えている)されないが、広く使用され、サポートされているPHPのための確立されたRESTクライアントを知っているん私はHTTPの使用法の枠組みや革命を探しているわけではありません。基本的なREST要求を行うためのライブラリです。私はホイールを再度作り直したいとは考えていません。と、RESTを毎日使っている何千(そうではないにしても何百万もの)PHPプロジェクトで、私はこのようなものを見つけられませんでした。

可能な品質RESTサーバーのライブラリがたくさんあります - なぜクライアントをRESTではありませんか?私は基本的にはTonicのようなものを探していますが、クライアントとしてです。 Pest(上から)はよく見えていて、一番近いですが、何かもっと確立されていないことに驚いています。

+0

upvoteは私がここで答えを受け入れたことはないことを思い出させました。私は[Pest](https://github.com/educoder/pest)を私の質問にリンクさせてしまいました。それはあまりうんざりや余分なコードがなくてもうまくやっています。私は指数関数的なバックオフを実装していないのですが、もし必要ならば、私はGuzzleをもう一度見せます。 – cincodenada

答えて

11

Guzzleには多くの高度な機能がありますが、私はまだ最小限の要件で簡単に使用できると思います。

  1. あなたは彼らのGitHubリリースページから必要がありますクラスのすべてを含んでのPharファイルをダウンロードします。https://github.com/guzzle/guzzle/releases
  2. が作成
  3. (これはがつがつ食うためにオートローダを設定します)、アプリケーション内のPharファイルをインクルードクライアント
  4. は、クライアントからのリクエストを送信し、クライアントにExponentialBackoffPluginを取り付け

例:

<?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()); 
+0

良い答えは、非常に分かりやすいです。 –

+0

どこでguzzle.pharをダウンロードできますか? – BILL

+0

リンクが壊れていますが、各リリースのguzzle.pharファイルはこちらからご覧ください:https://github.com/guzzle/guzzle/releases – w5m

6

あなたはRequestsあるいはHTTP PECL libraryを見てもよいです。ただし、これらはHTTP要求/応答プロセスにのみ関係します。あなたはそれ以上のものを探しているかもしれませんか? RESTデザインは、HTTPプロトコルと非常によく似ているため、抽象化がそれほど多くないため、の上に構築されます。

-2

cURLはかなり冗長ですが、PHARには多数の設定が必要です。本当にシンプルなRESTオプションが必要な場合は、これを試してみてください:

print file_get_contents( 'http://php.net/');

関連する問題