转-Amfphp简介

http://www.riafan.com/article.asp?id=49

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), phpamf还可以处理循环引用和自定义数据。 它也支持简单的远程调试。还有amfphp 附带一个服务浏览器,它可以在创建客户端代码前测试远程服务。amfphp 1.0.1还添加了模板,可以自动生成客户端代码。Amfphp 1.9 beta更是新增了对AMF3的支持。

Amfphp 1.9 beta 新鲜出炉

三、教学资源

1. 英文

2. 中文

下面文章或许你还感兴趣

  • FDT3.5正式版已经发布
  • 收藏-Flex Builder 3 on Eclipse 3.5
  • 收藏Flexmojos Adding libraries to compilation
  • loading Flex Modules dynamically
  • 自定义 Tree Data descriptor
  • 10 tips for working with PureMVC
  • JasperReport与JPA结合设计报表
  • 完成Flex报表设计、生成、打印功能(二)
  • 完成Flex报表设计、生成、打印功能(一)
  • Granite Data Service 延时加载的问题

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>