ホームページ > バックエンド開発 > PHPチュートリアル > AMFPHP php リモート呼び出し RPC、リモート プロシージャ コール ツールのクイック スタート チュートリアル

AMFPHP php リモート呼び出し RPC、リモート プロシージャ コール ツールのクイック スタート チュートリアル

WBOY
リリース: 2016-07-29 08:42:42
オリジナル
858 人が閲覧しました

これにより、PHP は次のテクノロジとシームレスに通信できるようになります:
(1) Flash および Flex Remoting
(2) JavaScript JSON および Ajax JSON
(3) XML および XML-RPC
RPC とは
リモート プロシージャ コール (RPC、リモート プロシージャ) Call) は、クライアントとサーバーがデータを交換する方法です。さまざまなパラメーター メソッドのコールバックを使用してローカル オブジェクトを呼び出し、呼び出し結果を受け入れることができます。データの送受信の実装の詳細について心配する必要はありません。実装の詳細は通常、ネイティブ メソッドを呼び出しているかのように抽象的です。
AMFPHPの仕組み
クライアント(Flash/Flex)とサーバーサイド(PHP)は同じ方法を使用してメソッド呼び出しと複雑なデータを記述します。クライアントはリクエストをシリアル化し、ゲートウェイ AMFPHP に送信します。 AMFPHPは、
(1) リクエストをデシリアライズ
(2) 対応するリモートサービスクラスを見つける
(3) クラスをインスタンス化する
(4) セキュリティチェックを実行する
(5) (指定されたパラメータを使用する) サーバー側メソッドを呼び出す
(6) 返されたデータのシリアル化
AMFPHP は、複合型データを正しくシリアル化および逆シリアル化できます。オブジェクトと配列に加えて、リソース データ接続リソースもサポートしています。つまり、リモート メソッドを呼び出して mysql_query を返すだけで、amfphp がすべて処理します。プラットフォームがサポートしている場合 (現在、Flash Remoting と Flex Remoting)、AMFPHP は循環参照とカスタム データを処理することもできます。また、単純なリモート デバッグもサポートしています。クライアント コードを作成する前にリモート サービスをテストできるブラウザーが付属する AMFPHP もあります。 AMFPHP 1.0.1 には、クライアント コードを自動的に生成するテンプレートも追加されています。 AMFPHP 1.9 ベータ版では、AMF3 のサポートが追加されています。
簡単な例
以下では、簡単なログイン例を通じて AMFPHP を予備的に理解します。クライアント側とサーバー側からそれぞれ紹介します。
1、Flex クライアント:
コード

コードをコピーします コードは次のとおりです:


import mx.controls.Alert;
import mx.rpc。イベント。 *;
Public varlogin_remoteObj: RemoteObject = Null;
Public function initloginremoteObject (): void {// 初期化 RemoteObject = New RemoteObject ();
this.login_remoteObjj 。 destination = "amfphp";
this.login_remoteObj.showBusyCursor = true;
this.login_remoteObj.endpoint = "http://localhost/MyTest/amfphp/gateway.php"; 、loginHandler);
this.login_remoteObj.doLogin.addEventListener("fault", fallHandler);
}
public function doLogin():void
{// ログイン操作、サーバーにデータを送信します
var name: String = this。 txtName.text;
var pwd:String = this.txtPassword.text;
data.push(name);
this.login_remoteObj.getOperation "doLogin").send(data);
}
public function loginHandler(event: ResultEvent):void
{//サーバーから返された結果を処理します
var result:Array =event.result を Array として処理します。 String = result[0];
if (flag == "0") {
Alert.show("ログイン失敗: " + result[1]); else if (flag == "1") {
Alert .show ("ログイン成功: " + result[1]);
} else if (flag == "-1") {
Alert.show("Exception: " + result[1]); public function fastHandler(event: FaultEvent):void
{//Error handler
Alert.show("sorry, something got lower!!!")
}
}


2 番目に、PHP サーバー側
1 を設定します。 amfphp ファイル フォルダー MyTest プロジェクトのルート ディレクトリで、ブラウザを開いて次のアドレスを入力して、amfphp が正常にインストールされているかどうかを確認します。コードは次のとおりです。


http://localhost/MyTest/amfphp /gateway.php


amfphp は、このゲートウェイを使用してサービス クラスを見つけ、リクエストを処理のためにこれらのサービス クラスに転送します。
2. Login.php ファイルには、ログイン リクエストを処理する Login クラスが含まれています。このファイルは BusinessLogic ディレクトリに配置されます。


コードをコピーします。コードは次のとおりです:

クラスログイン { public function doLogin($data) {

$result = array();

$name = array_shift($data)
$pwd = array_shift($data); == "phinecos" && $pwd == "123") {
$result[] = "1";

$result[] = "あなたは有効なユーザーです!"
} else {
$result[] = "; 0";
$ result[] = "ログインに失敗しました";
}

} catch (Exception $ex) { $result[] = "-1"; $result[] = $ex->getMessage() ; } return $result;

}

}


3、globals.phpのサービスパス項目を次のように変更し、amfphpにサービスクラスが存在するディレクトリを指定します


コード

コードは次のとおりです:


$servicesPath = "../BusinessLogic/";


著者: Dongting Sanren
AMFPHP ダウンロード アドレス
上記では、AMFPHP php リモート コール RPC、リモート プロシージャ コール ツールのクイック スタート チュートリアルを、関連コンテンツを含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート