AMFPHP php リモート呼び出し RPC、リモート プロシージャ コール ツールのクイック スタート チュートリアル
これにより、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";
} 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 チュートリアルに興味のある友人に役立つことを願っています。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Flask-Login を使用してユーザー ログインとセッション管理を実装する方法 はじめに: Flask-Login は Flask フレームワークのユーザー認証プラグインであり、これを使用してユーザー ログインとセッション管理機能を簡単に実装できます。この記事では、ユーザー ログインとセッション管理に Flask-Login を使用する方法を紹介し、対応するコード例を示します。 1. 準備 Flask-Login を使用する前に、Flask プロジェクトに Flask-Login をインストールする必要があります。次のコマンドで pip を使用できます

この記事は、vue ソース コードを解釈するのに役立ち、これを使用して Vue2 のさまざまなオプションのプロパティにアクセスできる理由を紹介します。

同僚は、これによって指摘されたバグのために立ち往生しました。Vue2 のこの指摘の問題により、アロー関数が使用され、その結果、対応する props を取得できなくなりました。私がそれを彼に紹介したとき、彼はそれを知りませんでした。その後、私はわざとフロントエンド コミュニケーション グループに目を向けました。これまでのところ、フロントエンド プログラマーの少なくとも 70% はまだそれを理解していません。今日私はそれを共有しますyou this link. もしすべてが間違っている場合 まだ学習していない場合は、大きな口を与えてください。

jQuery での this キーワードの柔軟な使用 jQuery では、this キーワードは非常に重要かつ柔軟な概念であり、現在操作されている DOM 要素を参照するために使用されます。このキーワードを合理的に使用することで、ページ上の要素を簡単に操作し、さまざまなインタラクティブな効果や機能を実現できます。この記事では、特定のコード例を組み合わせて、jQuery でのこのキーワードの柔軟な使用方法を紹介します。簡単なこの例 まず、簡単なこの例を見てみましょう。あるとします。

これは何ですか?次の記事では、JavaScript でのこれについて説明し、関数の呼び出し方法の違いによる違いについて説明します。

JavaScript はこのポインタをどのように変更するのでしょうか?次の記事では、JS でこのポインターを変更する 3 つの方法を紹介します。

1. this キーワード 1. this の型: どのオブジェクトが呼び出されるかがそのオブジェクトの参照型 2. 使用法の概要 1. this.data;//アクセス属性 2. this.func();// アクセスメソッド 3.this ( );//このクラス内の他のコンストラクタを呼び出す 3. 使い方の説明 1.this.dataはメンバメソッドで使用しているので、これを追加しないとどうなるかを見てみましょう classMyDate{publicintyear;publicintmonth;publicintday; publicvoidsetDate(intyear, intmonth,intday){はい

JavaScript のアロー関数は比較的新しい構文です。独自の this キーワードはありません。逆に、アロー関数の this は、それを含むスコープ オブジェクトを指します。影響は次のとおりです: 1. アロー関数の this は次のとおりです。 static; 2. アロー関数はコンストラクタとして使用できません; 3. アロー関数はメソッドとして使用できません。
