Flex RemoteObject 与 AMFPHP 1.9

原文地址:http://www.sephiroth.it/tutorials/flashPHP/flex_remoteobject/

最近,可能你已经听说了Patrick Mineault发布了新版本的amfphp,此版本的amfphp开始正式支持Flex2了。

在这个教程中,我们将演示如何安装新的amfphp以及如何使amfphp与flex2的RemoteObject标签协同工作。

1.下载安装amfphp 1.9

首先下载amfphp 1.9,然后将其解压缩到你的web目录中,例如 http://localhost/amfphp2。

2.创建你的第一个service

在amfphp2/services文件夹中创建一个名为“tutorials”的新文件夹,我们要把php类文件放到其中。

现在,在这个“tutorials” 文件夹中,建立一个新的php文件:HelloWorld.php

/**
* First tutorial class
*/
class HelloWorld {
/**
* first simple method
* @returns a string saying 'Hello World!'
*/
function sayHello()
{
return "Hello World!";
}
}
?>

注意,与之前的amfphp不同,现在类中不再有“$this->methodTable”了。这个方法表在amfphp 1.9中已经被取消了,不用写了。

新的amfphp 1.9中所有的方法都假设为可以被远程访问的,除非你以下划线(“_”)开始声明一个方法或者声明为私有的(只有PHP5支持)。

在类中你可以使用javadoc样式的注释。无论是类的声明部分还是在方法的声明部分提供了注释,它们都会在amfphp browser中体现出来的。

事实上,amfphp browser也改变了很多,现在是基于Flex2的。你可以访问http://localhost/amfphp2/browser来查看你所有的service。

下面的截图显示的是“HelloWorld.php”被选中的样子:

amfphp_browser

正如你看见的那样,browser显示了类和方法的javadoc注释。与之前browser版本类似,你可以使用“call”按钮来测试类的方法 。如果你的方法需要一些参数,那么browser会在call按钮之前为每一个参数提供文本输入框的。

3. 新建一个Flex 2项目

在Flex2 IDE中新建一个项目。打开项目属性(右键点击项目名称然后选择“properties”)。在项目属性对话框找到”Flex Build path”菜单下的”Library path”标签,确定”rpc.swc“文件已经添加到你的项目路径中(像下面这个图片显示的那样):

flex2_project_library

现在我们需要告诉Flex2使用哪个服务配置文件去查找我们的远程方法。

这样就需要在你的Flex项目根目录创建一个新的“services-config.xml”文件








*




现在再次打开项目属性,然后在“Flex Compiler”菜单中加入如下文字:-services “services-config.xml”,看下一张图片:
flex2_compiler

好啦,我们现在已经做好使用RemoteObjects的准备了。关于Service配置更详细的内容你可以看这里

Popularity: 26% [?]

Leave a comment