Amfphp简介

Amfphp是PHP的RPC工具,它的优势体现在开源和和对最新技术的支持。它可以使PHP与下述技术无缝通信:

  • Flash 和 Flex Remoting
  • Javascript JSON 和 Ajax JSON
  • XML 和XML-RPC


一、什么是RPC?

远端程序调用(RPC, Remote Procedure Call) 是一种客户端与服务器端交换数据方式。我们可以调用本地对象的带有不同参数的方法,设置回 调并接受调用结果。我们不用关心发送和接收数据的实现细节。实现细节通常是抽象的, 就像我们在调用本地方法一样。

二、工作原理

客户端(Flash)与服务器端(php), 使用相同的方式描述方法调用和复杂数据。客户端序列化请求并将它发送到网关Amfphp。Amfphp再执行:

  • 反序列化请求
  • 找到相应的远程服务类
  • 实例化类
  • 执行安全检查
  • (使用指定参数)调用服务器端方法
  • 序列化返回的数据

Amfphp可以正确地序列化、反序列化复杂类型数据。除了对象和数组,它还支持数据连接资源,这就意味着我们可以通过调用远程方法简单返回mysql_query,Amfphp会处理这一切。如果平台支持(目前来说,Flash Remoting 和Flex Remoting),Amfphp还可以处理循环引用和自定义数据。它也支持简单的远程调试。还有Amfphp附带一个服务浏览器,它可以在创建客户端代码前测试远程服务。Amfphp1.0.1还添加了模板,可以自动生成客户端代码。Amfphp1.9 beta更是新增了对AMF3的支持。详见http://www.riafan.com/introducing-amfphp-1.9-beta

三、教学资源

1.英文

2.中文

发表评论