PHPでRESTを使用できますか?もしそうならどのように? [閉まっている]

StackOverflow https://stackoverflow.com/questions/1628628

  •  06-07-2019
  •  | 
  •  

質問

独自のPHPライブラリを開発しています。APIからRESTful Webサービスを呼び出したいです。これはPHPで行うことができますか?もしそうなら、その基本は何ですか?

役に立ちましたか?

解決

RESTはHTTPプロトコルと同じメソッドをクライアント/サーバーアーキテクチャの設計に適用するため、PHPは既にGETやPOSTなどのHTTPプロトコルリクエストを処理するのに非常に優れています。 PHPは、RESTサービスの開発を簡単にするのに特に適しています。

RESTは、既に存在する同じhttpパターンのアプリケーションであることを思い出してください。

したがって、現在次のようなアプリケーションを実行している場合:

  1. HTMLフォーム
  2. PHPプロセス
  3. 表のHTML出力

したがって、RESTにするには、次のことを行う必要があります。

  1. Webからパラメーターを受け入れます。 getまたはpostとしてパラメーターを受け取るため、これは簡単です。したがって、基本的には同じです。
  2. PHPプロセス
  3. 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を行うためにこれまで以上に優れています:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top