私はPHPで他人のRESTサーバーを編集して調整しようとしています。これはPhil Sturgeonによって書かれたREST Serverに基づいています。私の頭の中にはかなりのものがありましたが、私の要求は期待どおりに働いていません。サーバーコンストラクタでphp://の内容を変数に格納
は、私はphp://input
は一度しか読み取ることができることを知っているので、変数を設定する前var_dump(file_get_contents('php://input'))
を行うことは、明らかに私のXMLデータが入力ストリームから正しく読み込まれていることを示しているが、コード
switch ($this->request->method)
{
case 'post':
$this->_post_args = $_POST;
$this->request->format and $this->request->body =
file_get_contents('php://input');
break;
}
です変数は正しく設定されていません。
ただし、var_dump($this->request->body)
を実行すると、出力はNULL
になります。変数にphp://input
の内容を格納する特別なテクニックはありますか?
EDIT:
私はPOSTリクエストと、それは私がエンコーディングが何であるか、このから見ることができません
Status: 200
X-Powered-By: PHP/5.3.2-1ubuntu4.11
Server: Apache/2.2.14 (Ubuntu)
Content-Type: application/xml
Date: Fri, 10 Feb 2012 11:00:43 GMT
Keep-Alive: timeout=15, max=100
Content-Length: 936
Connection: Keep-Alive
ある送信ヘッダを送信するためにAPI Kitchenを使用しています。
EDIT 3:
エンコーディング問題がどこにあるかもしれないapplication/x-www-form-urlencoded
です!これが何であるべきか具体的にどのように言いますか?
EDIT 2:
$this->request->method
は、すべての助けを'post'
どのようなタイプのオブジェクトが '$ this-> request'ですか? –
'$ this-> request'は' protected $ request = NULL;として宣言されています。 //受け入れ、言語、ボディ、ヘッダーなどをストアする – Josh
別の実装や何かを見つけることができません。最初に設定されたのは同じコンストラクタにあり、 '$ this-> request-> method = $ this - > _ detect_method(); '申し訳ありませんが、私はここで非常に役に立つとは思われません! – Josh