まずは、私が何をしようとしているのか説明しましょう。CakePHPとRESTの処理パラメータ
私は正常にこのチュートリアルを使用して、CakePHPの持つSOAPサービスを実装している:
http://bakery.cakephp.org/articles/Marcelius/2009/02/10/soap-services-in-cakephp
その部分が素晴らしい作品。私はSOAPを介してXMLメッセージを送受信することができ、私はそれらの要求を処理するために、さまざまな機能のセットアップを備えた約6つのコントローラを持っています。
私が持っていたいのは、同じアプリケーションで、REST経由のリクエストも処理できます。これまでのところ、routes.phpファイルにmapResources()とparseExtentions()を追加することができました。これは、正常に動作するためにパラメータを必要としない関数、つまりURL以下のような
はlocalhost /ディレクトリ/コントローラ名/ function_name.xml
...と私はすべての結果が返されます、と私はやっとそれが仕事を得るために私の既存のコードに触れることがあります。
しかし、実際には、関数が入力パラメータを必要として正しく動作するようにするのが難しいです。これらの変数の中には、配列のように複雑すぎるものもあります。
file_get_contents( "php:// input")を使用して受信リクエストボディをフェッチして解析する方法については読んだことがありますが、実際にはうまくいきません。そのソースからフェッチするために私の既存のコードをすべて変更し、すべての関数呼び出しは欠落しているパラメータの警告を投げます。
私がしようとしていることは可能ですか? CakePHPでこの状況を処理する最善の方法は何でしょうか?
TIA
これはまともな人はそれを行うだろうかです。しかし、この場合は動作しません。既存のコードはsoap要求を処理するために用意されているので、パラメータ付きのコントローラ関数は入力としてただ1つのstdClassを必要としています。もし私があなたのやり方をしたら、私は元のコードをすべて変更して、手作業で$ this-> param ['url']からすべての変数を手に入れてルートを見つけ出すだけでなく、関数の署名 – user470714