AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门
AMFPHP是PHP的远程调用(RPC, Remote Procedure Call)工具。
它可以使PHP与下述技术无缝通信:
(1) Flash 和 Flex Remoting
(2) JavaScript JSON 和 Ajax JSON
(3) XML 和XML-RPC
什么是RPC
远端程序调用(RPC, Remote Procedure Call) 是一种客户端与服务器端交换数据方式。我们可以调用本地对象带对各种参数方法设置回调并接受调用结果。我们不用关心发送和接收数据的实现细节。实现细节通常是抽象的,就像我们在调用本地方法一样。
AMFPHP的工作原理
客户端(Flash / Flex)与服务器端(PHP) 使用相同的方式描述方法调用和复杂数据。客户端序列化请求并将它发送到网关AMFPHP。AMFPHP再执行:
(1) 反序列化请求
(2) 找到相应的远程服务类
(3) 实例化类
(4) 执行安全检查
(5)(使用指定参数)调用服务器端方法
(6) 序列化返回的数据
AMFPHP可以正确地序列化、反序列化复杂类型数据。除了对象和数组,它还支持 resources 数据连接资源,这就意味着我们可以通过调用远程方法简单返回mysql_query,amfphp 会处理这一切。如果平台支持 (目前来说,Flash Remoting 和Flex Remoting),AMFPHP还可以处理循环引用和自定义数据它也支持简单的远程调试。还有AMFPHP附带一个浏览器,它可以在创建客户端代码前测试远程服务。AMFPHP 1.0.1还添加了模板,可以自动生成客户端代码。AMFPHP 1.9 beta更是新增了对AMF3的支持。
简单示例
下面我们通过一个简单的登录示例来对AMFPHP有一个初步的认识,将分别从客户端和服务器端两个部分进行介绍。
一,Flex客户端:
代码
代码如下:
import mx.controls.Alert;
import mx.rpc.remoting.mxml.RemoteObject;
import mx.rpc.events.*;
public var login_remoteObj:RemoteObject = null;
public function initLoginRemoteObject():void
{//初始化RemoteObject
this.login_remoteObj = new RemoteObject();
this.login_remoteObj.source = "Login";
this.login_remoteObj.destination = "amfphp";
this.login_remoteObj.showBusyCursor = true;
this.login_remoteObj.endpoint = "http://localhost/MyTest/amfphp/gateway.php";
this.login_remoteObj.doLogin.addEventListener("result", loginHandler);
this.login_remoteObj.doLogin.addEventListener("fault", faultHandler);
}
public function doLogin():void
{//登陆操作,向服务器提交数据
var name:String = this.txtName.text;
var pwd:String = this.txtPassword.text;
var data:Array = new Array();
data.push(name);
data.push(pwd);
this.login_remoteObj.getOperation("doLogin").send(data);
}
public function loginHandler(event: ResultEvent):void
{//处理服务器返回的结果
var result:Array = event.result as Array;
var flag:String = result[0];
if (flag == "0") {
Alert.show("登陆失败: " + result[1]);
} else if (flag == "1") {
Alert.show("登陆成功: " + result[1]);
} else if (flag == "-1") {
Alert.show("异常: " + result[1]);
}
}
public function faultHandler(event: FaultEvent):void
{//出错处理
Alert.show("sorry,出错了!!!");
}
}
二,PHP服务器端
1,将amfphp文件夹置于MyTest项目的根目录下,打开浏览器输入下述地址验证amfphp是否安装成功
代码如下:
http://localhost/MyTest/amfphp/gateway.php
amfphp就是通过这个gateway来定位我们的服务类,并将请求转发给这些服务类进行处理的。
2,Login.php文件,包含了处理登陆请求的Login类,此文件置于BusinessLogic目录下
代码
代码如下:
class Login
{
public function doLogin($data)
{
$result = array();
try {
$name = array_shift($data);
$pwd = array_shift($data);
if ($name == "phinecos" && $pwd == "123") {
$result[] = "1";
$result[] = "you are valid user!";
} else {
$result[] = "0";
$result[] = "login failed";
}
} catch (Exception $ex) {
$result[] = "-1";
$result[] = $ex->getMessage();
}
return $result;
}
}
?>
3,将globals.php中的服务路径项修改如下,为amfphp指明服务类所在的目录
代码如下:
$servicesPath = "../BusinessLogic/";
作者:洞庭散人

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wir beginnen diese Serie damit, dass wir lernen, wie man HTML-Elemente mithilfe von Mojs animiert. In diesem zweiten Tutorial verwenden wir weiterhin das Shape-Modul, um integrierte SVG-Formen zu animieren. Das dritte Tutorial behandelt weitere Möglichkeiten zum Animieren von SVG-Formen mithilfe von ShapeSwirl und dem Stagger-Modul. Jetzt lernen wir, wie man mit dem Burst-Modul verschiedene SVG-Formen in Bursts animiert. Dieses Tutorial basiert auf den Konzepten, die wir in den ersten drei Tutorials behandelt haben. Wenn Sie sie noch nicht gelesen haben, empfehle ich Ihnen, sie zuerst zu lesen. Erstellen einer einfachen Burst-Animation Bevor wir eine Burst-Animation erstellen können, müssen wir zunächst ein Burst-Objekt instanziieren. Anschließend können wir verschiedene Eigenschaften angeben

Schnellstart: Für die Installation der Pandas-Bibliothek in Python sind spezifische Codebeispiele erforderlich. 1. Überblick Python ist eine weit verbreitete Programmiersprache mit einem leistungsstarken Entwicklungsökosystem, das viele praktische Bibliotheken umfasst. Pandas ist eine der beliebtesten Datenanalysebibliotheken. Sie bietet effiziente Datenstrukturen und Datenanalysetools, die die Datenverarbeitung und -analyse erleichtern. In diesem Artikel wird die Installation der Pandas-Bibliothek in Python vorgestellt und entsprechende Codebeispiele bereitgestellt. 2. Installieren Sie Py

Schnellstart: Verwenden Sie Go-Sprachfunktionen, um einen einfachen Audio-Streaming-Dienst zu implementieren. Einführung: Audio-Streaming-Dienste erfreuen sich in der heutigen digitalen Welt immer größerer Beliebtheit und ermöglichen es uns, Audiodateien direkt über das Netzwerk abzuspielen, ohne einen vollständigen Download durchführen zu müssen. In diesem Artikel wird erläutert, wie Sie mithilfe der Go-Sprachfunktionen schnell einen einfachen Audio-Streaming-Dienst implementieren, damit Sie diese Funktion besser verstehen und verwenden können. Schritt 1: Vorbereitung Zunächst müssen Sie die Go-Sprachentwicklungsumgebung installieren. Sie können es von der offiziellen Website herunterladen (https://golan

Schnellstart: Verwenden Sie Go-Sprachfunktionen, um einfache Bilderkennungsfunktionen zu implementieren. In der heutigen technologischen Entwicklung ist die Bilderkennungstechnologie zu einem heißen Thema geworden. Als schnelle und effiziente Programmiersprache verfügt die Go-Sprache über die Fähigkeit, Bilderkennungsfunktionen zu implementieren. Dieser Artikel bietet den Lesern eine Kurzanleitung zur Implementierung einfacher Bilderkennungsfunktionen mithilfe der Go-Sprachfunktionen. Zuerst müssen wir die Go-Sprachentwicklungsumgebung installieren. Sie können die entsprechende Version auf der offiziellen Website der Go-Sprache herunterladen (https://golang.org/).

Titel: Schneller Einstieg: Empfohlene fünf gängige Go-Sprach-Frameworks Mit der Popularität der Go-Sprache haben sich in den letzten Jahren immer mehr Entwickler für die Verwendung von Go für die Projektentwicklung entschieden. Die Go-Sprache hat aufgrund ihrer Effizienz, Einfachheit und überlegenen Leistung große Aufmerksamkeit erhalten. Bei der Go-Sprachentwicklung kann die Auswahl eines geeigneten Frameworks die Entwicklungseffizienz und Codequalität verbessern. In diesem Artikel werden fünf häufig verwendete Frameworks in der Go-Sprache vorgestellt und Codebeispiele angehängt, um den Lesern den schnellen Einstieg zu erleichtern. Gin-Framework Gin ist ein leichtes Web-Framework, das schnell und effizient ist.

Schnellstart: Eine Anleitung zur Verwendung von fünf Kafka-Visualisierungstools 1. Kafka-Überwachungstools: Einführung Apache Kafka ist ein verteiltes Publish-Subscribe-Messagingsystem, das große Datenmengen verarbeiten kann und einen hohen Durchsatz und geringe Latenz bietet. Aufgrund der Komplexität von Kafka sind Visualisierungstools erforderlich, die bei der Überwachung und Verwaltung von Kafka-Clustern helfen. 2. Kafka-Visualisierungstools: Fünf wichtige Optionen KafkaManager: KafkaManager ist eine Open-Source-Web-Community

Schnellstart: Verwenden Sie Go-Sprachfunktionen, um die Anzeige einfacher Liniendiagramme zur Datenvisualisierung zu implementieren. Einführung: Im Bereich der Datenanalyse und -visualisierung sind Liniendiagramme ein häufig verwendeter Diagrammtyp, der den Trend von Datenänderungen über die Zeit oder andere Variablen klar darstellen kann. In diesem Artikel wird erläutert, wie Sie mithilfe der Go-Sprachfunktionen eine einfache Liniendiagrammanzeige für die Datenvisualisierung implementieren und relevante Codebeispiele bereitstellen. 1. Bevor Sie mit den Vorbereitungsarbeiten beginnen, müssen Sie die folgenden Bedingungen sicherstellen: Installieren Sie die Go-Sprachumgebung und legen Sie die relevanten Umgebungsvariablen fest. Installieren Sie die erforderlichen Abhängigkeiten

Schnellstart: Verwenden Sie Go-Sprachfunktionen, um einfache Nachrichten-Push-Funktionen zu implementieren. Im heutigen Zeitalter des mobilen Internets ist Message Push zu einer Standardfunktion verschiedener APPs geworden. Die Go-Sprache ist eine schnelle und effiziente Programmiersprache, die sich sehr gut für die Entwicklung von Nachrichten-Push-Funktionen eignet. In diesem Artikel wird erläutert, wie Sie mit Go-Sprachfunktionen eine einfache Nachrichten-Push-Funktion implementieren und entsprechende Codebeispiele bereitstellen, um den Lesern den schnellen Einstieg zu erleichtern. Bevor wir beginnen, müssen wir die Grundprinzipien von Message Push verstehen. Im Allgemeinen erfordert die Nachrichten-Push-Funktionalität zwei Hauptkomponenten: den Push-Server
