使用Amfphp实现Flash与服务器通信
作者:Flying 日期:2007-02-05
这是一篇讲解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:
相关日志: