私は AMFPHP を使用して、データベースを Flex アプリケーションにリンクすることに成功しています。ただし、次のように入力して、フラッシュの外部でリモーティング要求をテストできるようにしたいと考えています。
http://localhost/amfphp/gateway.php?[ここに何を入れますか]
ブラウザ (または C++ http コンポーネント) が amfphp サービスを呼び出せるようにするには、疑問符の後に何を入力すればよいでしょうか。
私は AMFPHP を使用して、データベースを Flex アプリケーションにリンクすることに成功しています。ただし、次のように入力して、フラッシュの外部でリモーティング要求をテストできるようにしたいと考えています。
http://localhost/amfphp/gateway.php?[ここに何を入れますか]
ブラウザ (または C++ http コンポーネント) が amfphp サービスを呼び出せるようにするには、疑問符の後に何を入力すればよいでしょうか。
PHPからAMF呼び出しを行いたいようです。ブラウザから直接これを行うことはできません。データはバイナリAMF形式で返されますが、もちろんPHPやブラウザでは直接処理できません。私はそれが要求をすることができるとさえ思わない。
呼び出しを行ってデータをデコードするには、AMFクライアントが必要です。SabreAMFを使用することをお勧めします。
これは、単純なクライアントメソッド呼び出しコードがどのように見えるかです。
require 'SabreAMF/Client.php';
function make_request($param1,$param2){
$client = new SabreAMF_Client('http://your.server/amfphp/gateway.php');
return $client->sendRequest('your_amf_service.yourAMFmethod',array($param1, $param2));
}
次に、このように呼び出します
$result=make_request('cow',300);
そしてそれは配列を返します。
もちろん、各メソッドを簡単に呼び出すことができるように、すべてのメソッドを使用してPHPクラスを設定することをお勧めします。
AMFPHP には、サーバー側サービスへの呼び出しをシミュレートし、応答を確認できるサービス ブラウザーがあります。基本的に、内部 CURL リクエストを同じサービス ファイルに返し、指定した引数を渡します。これは、クライアント側の Flash アプリから直接行われたかのように機能します。
AMF はバイナリ形式であるため、おそらくそれほど単純ではありません。データがどのようにエンコードされているかを調べる必要があります...
最初のステップとして、gateway.php
スクリプトから、フラッシュコンポーネントから呼び出されたときに、受け取ったすべてをファイルにダンプすることができますか?
このようにして、受信したデータがどのように見えるかを確認できます (また、データが POST で渡されたのか、GET で渡されたのかがわかります)。
そのデータがどのように見えるかに応じて、サーバーへのリクエストを「偽造」できるかもしれませんが、ブラウザから URL を呼び出すだけの簡単なことではないと思います...
AMFPHP ゲートウェイは、(バイナリから/バイナリへ) 変換し、さまざまな受信パラメーターを使用してクラス/メソッドにディスパッチし、最後にデータの return() を行うための単なるメカニズムであることを考慮すると、メソッドに対して直接単体テストを実行して、 AMF層全体?