私は独自のPHPライブラリを開発しています。APIからRESTful Webサービスを呼び出したいと思います。これはPHPそうするための基本は?
RESTはHTTPプロトコルの同じメソッドをクライアント/サーバーアーキテクチャの設計に適用したものであり、PHPはHTTPプロトコルリクエストを処理するのにすでに非常に優れているGETやPOSTなど。PHPは、RESTサービスを簡単に開発するのに特に適しています。
RESTは、すでに存在する同じhttpパターンのアプリケーションです。
そのため、現在次のようなことを行うアプリケーションがある場合:
したがって、それをRESTにするために必要なものは:
出力([〜#〜] json [〜#〜]または[〜#〜] xml [〜 #〜]。それだけです!
とても簡単です。
難しい部分は、生成するAPI(関数とURL)をプログラマーフレンドリーにすることです。
その場合、例として flickr API を参照することをお勧めします。例として、開発者にとって使いやすく、推測しやすく、優れたドキュメントがあります。
APIの詳細については、このプレゼンテーションをご覧ください。 優れたAPIを設計する方法と重要な理由(Joshua Bloch)
最後に、RESTful APIは、httpプロトコルのPUTおよびDELETEメソッドも実装する必要があります意味がある場合
たとえば、APIに削除アクションがある場合、このサービスはhttpプロトコルから削除メソッドを受け取る必要があります。ポストリクエストの一部としてアクションパラメータを送信するより一般的なことの代わりに。
Edit:「Php is rest by default」を「Since RESTは同じメソッドのアプリケーションです。クライアント/サーバーアーキテクチャの設計に対するHTTPプロトコルであり、PHPは、GETやPOSTなどのHTTPプロトコルリクエストを処理するのにすでに優れています。PHPは、 RESTサービスを簡単に開発できます。 "
また、APIにとって適切なアクションである場合は、適切なPUTまたはDELETEメソッドを実装する必要があるという最後のメモを追加しました。
この記事とフォローアップをご覧ください: http://www.gen-x-design.com/archives/create-a-rest-api-with-php/
あなたの質問は非常に自由自在なので、このチュートリアルが最良の出発点かもしれません。
上記のリンクは機能しなくなったため、このチュートリアルをご覧ください。
http://net.tutsplus.com/tutorials/other/a-beginners-introduction-to-http-and-rest/
PHPネイティブSoapServerクラス 'RESTと同等のクラスを開発しました。
RestServer.phpファイルを含めるだけで、次のように使用します。
class Hello
{
public static function sayHello($name)
{
return "Hello, " . $name;
}
}
$rest = new RestServer(Hello);
$rest->handle();
その後、次のような呼び出しを行うことができます。
http://myserver.com/path/to/api?method=sayHello&name=World
(クエリ文字列でパラメータが提供される順序は関係ありません。また、パラメータ名とメソッド名は大文字と小文字を区別しません。)
用語RESTの元のソース に戻ることを傷つけることはできません。そして、それが何を意味するのかを確実に理解してください。
あなたが物事のクライアント側について考えているなら、私はMatt SukowskiのPESTをチェックすることをお勧めします。
GitHubにリポジトリがあります: https://github.com/educoder/pest
このスレッドもチェックしてください: PHP REST Clients
更新2013/12/13:
これは非常にライブのオープンソースプロジェクトです。MattSukowskyは、この夏、十分な時間を割くことができないと感じたため、新しい世話人に引き渡しました。したがって、Pestは、PHP :)でRestを行うのにこれまで以上に優れています