PHPでRESTを使用できますか?もしそうならどのように? [閉まっている]
-
06-07-2019 - |
質問
独自のPHPライブラリを開発しています。APIからRESTful Webサービスを呼び出したいです。これはPHPで行うことができますか?もしそうなら、その基本は何ですか?
解決
RESTはHTTPプロトコルと同じメソッドをクライアント/サーバーアーキテクチャの設計に適用するため、PHPは既にGETやPOSTなどのHTTPプロトコルリクエストを処理するのに非常に優れています。 PHPは、RESTサービスの開発を簡単にするのに特に適しています。
RESTは、既に存在する同じhttpパターンのアプリケーションであることを思い出してください。
したがって、現在次のようなアプリケーションを実行している場合:
- HTMLフォーム
- PHPプロセス
- 表のHTML出力
したがって、RESTにするには、次のことを行う必要があります。
- Webからパラメーターを受け入れます。 getまたはpostとしてパラメーターを受け取るため、これは簡単です。したがって、基本的には同じです。
- PHPプロセス
-
JSON または XML で出力します。それだけです!
非常に簡単です。
ここで難しい部分は、生成するAPI(関数とURL)をプログラマーフレンドリーにすることです。
その場合、例として非常に開発者であるため、 flickr API をご覧になることをお勧めします。推測しやすく、優れたドキュメントがあります。
APIの詳細については、次のプレゼンテーションをご覧ください。優れたAPIを設計する方法&なぜ重要なのか(Joshua Bloch)
最後にRESTful APIは、httpプロトコルのPUTおよびDELETEメソッドも実装する必要があります。理にかなっている場合
たとえば、apiに削除アクションがある場合、このサービスはhttpプロトコルから削除メソッドを受け取る必要があります。投稿リクエストの一部としてアクションパラメータを送信するより一般的なことの代わりに。
編集:置換された" Phpはデフォルトで残ります" RESTはHTTPプロトコルの同じメソッドをクライアント/サーバーアーキテクチャの設計に適用するため、PHPは既にGETやPOSTなどのHTTPプロトコルリクエストを処理するのに非常に優れているためです。 PHPはRESTサービスの開発を簡単にするのに特に適しています。"
また、適切なPUTまたはDELETEメソッドを実装する必要があるという最後のメモを追加しました。そのアクションがapiにとって意味がある場合です。
他のヒント
この記事とフォローアップをご覧ください。 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 という用語を使用し、その意味を理解してください。
クライアント側のことを考えているなら、マット・スコウスキーのPESTをチェックすることをお勧めします。
GitHubにリポジトリがあります。 https://github.com/educoder/pest
このスレッドもチェックアウトしてください: PHP RESTクライアント
更新2013/12/13:
これは非常にライブなオープンソースプロジェクトです。MattSukowskyは、この夏、十分な時間を割くことができないと感じたため、新しい管理人に引き渡しました。それ以来、多くのコミットがありました。したがって、PestはPHPでRestを行うためにこれまで以上に優れています:)