使用Amfphp实现Flash与服务器通信

这是一篇讲解Flash与Amfphp Flash Remoting通信的入门级实例教程。通过本例的学习,我们将了解使用Amfphp开发Flash Web的基本流程。本教程以Amfphp1.9 beta 2为例讲解。

Amfphp通过PHP类文件可以实现Flash与远程服务的数据交换。在本例中,我们将使用一个简单的PHP类来实现HelloWorld远程服务。

如果对Flash Remoting不太了解,请参看前面的入门教程。本文假定我们已经配置好了Amfphp环境。将下面的代码保存为HelloWorld.php,并放置在Amfphp根目录\services\tutorials\remoting下。

<?php
class HelloWorld {
/**
* @desc 向用户表示友好问候
* @access remote
* @returns String
*/
function sayHello($userName) {
return "您好,$userName 。这是来自Amfphp Flash Remoting的问候";
}
}
?>

这就是一个很普通的PHP类编写,PHP类的语法与编写ActionScript 2.0类的语法相似。唯一特殊的地方就是它使用了javadoc 注释。为什么要这样 注释呢?这是为了将注释显示在服务浏览器中,方便团队开发。

返回到Flash,注释掉其它版本的网关路径所用的代码。测试影片,你将收到来自AmfphpFlash Remoting的问候。

当然,你仍可以使用Amfphp1.9 以前的语法。代码如下:

<?php
class HelloWorld {
function HelloWorld () {
$this->methodTable = array(
"sayHello" => array(
"description"=> "向用户问候",
"access"=> "remote",
"arguments" => array('userName')
)
);
}
function sayHello ($userName) {
return "您好,$userName 。这是来自Amfphp Flash Remoting的问候";
}
}

在PHP类的构造函数使用methodTable对象,methodTable是PHP类方法的集合数组,每一个方法都是一个元素,,每一个元素又是一个关系数组。其 中属性description描述该方法的功能,属性access说明该方法的访问权限,有public, private和remote三种,如果提供远程服务的,access的值只能为remote。这几个属性当中,只有access是必有的。如果使用Amfphp1.2及其更高版本,MethodTable已经作为一个类来处理了,我们可以直接导入它,然后使用其create方法来创建构造函数。

新版Amfphp附带的服务浏览器功能不如以前,有时间跟大家讲解。

来源文章来自: 本站原创
引用通告引用通告: 查看所有引用 | 我要引用此文章
标签Tags: Amfphp FlashRemoting
相关日志相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.