ホームページ >バックエンド開発 >PHPチュートリアル >100 点のヘルプ: PHP で PUT および DELETE リクエストのパラメーターを取得する方法

100 点のヘルプ: PHP で PUT および DELETE リクエストのパラメーターを取得する方法

WBOY
WBOYオリジナル
2016-06-23 14:23:321925ブラウズ

PHP RESTful

こんにちは、皆さん、PHP を使用して RESTful API インターフェイスを実装しようとしていますが、次の問題が発生しました:

リクエスト タイプが POST または GET の場合、PHP は $_POST、$_GET および $_GET を簡単に渡すことができます。 $_REQUEST はクライアントが入力したパラメータを取得しますが、リクエストのタイプが PUT または DELETE の場合、PHP がパラメータを取得するためにどのメソッドを使用すればよいかわかりません。

同様の問題に遭遇したことがありますか?お気軽に教えてください~

ディスカッションに返信(解決策)

最も愚かな方法: $method = $_SERVER['REQUEST_METHOD']
それから判断してください

最も愚かな方法: $method = $_SERVER['REQUEST_METHOD] ']
それでは判断してください
ご返信ありがとうございます。引き続きアドバイスを求めたいと思います。たとえば、次のようなシナリオがあります:

jQuery を使用して PUT リクエストを送信します。
$.ajax({
type: " PUT",
url: "some.php",
data: { name: "Riki", location: "中国" },
success:function(returnVal){
// ここで何かをします。
}
});

PHP でデータのパラメーターを取得するにはどうすればよいですか? ありがとう!

put と delete を取得するには $_GET を使用します

なぜ型として PUT を指定する必要があるのでしょうか? 動作として指定することはできません。

上記に同意します。

原則として GET/POST がサポートされますが、その他の述語のサポートはサーバーに依存します。一般的には GET/POST を使用してシミュレートします。

この投稿は xuzuning によって最終編集されました: 2013-10-08 11:52:45

some.php
$type = $_SERVER['REQUEST_METHOD'];parse_str(file_get_contents('php://input'), $data);$data = array_merge($_GET, $_POST, $data);//根据 $type 的值做相应的操作

皆さんの返信に感謝します。私の開発環境マシンは現在ダウンしています。ありがとうございます。 !

4 階と 5 階の友人へ:
原則として、GET と POST は確かに要件を満たすことができますが、現時点では http://myapi/ などの URI の RESTful アーキテクチャのより高い成熟度を達成したいと考えています。 order、オーダー リソースを表します。このリソースの追加、削除、変更、クエリ操作はすべてこの URI によって実装され、サーバーはユーザーのリクエスト リクエストを受信すると、リクエストのタイプに基づいて処理方法を決定します。は読み取りに対応し、POST は作成に対応し、PUT は更新に対応し、DELETE は削除操作に対応します。
もちろん、GET と POST のみを使用してシミュレートすることもできます。URI を http://myapi/order/update または http://myapi/order/delete のようなものに変更し、URI で動作を定義することもできます。 。もちろん、指定したパラメータに動作を定義することも可能です。

6階の友人が使っているメソッドはPUTからパラメータを取得できます:

parse_str(file_get_contents('php://input'), $data)


$_GET ではパラメータを取得できないようです

以上、お世話になりました、投稿させていただきました

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。