收藏 分销(赏)

AMFPHP入门教程.doc

上传人:xrp****65 文档编号:7680730 上传时间:2025-01-12 格式:DOC 页数:21 大小:205.71KB
下载 相关 举报
AMFPHP入门教程.doc_第1页
第1页 / 共21页
AMFPHP入门教程.doc_第2页
第2页 / 共21页
AMFPHP入门教程.doc_第3页
第3页 / 共21页
AMFPHP入门教程.doc_第4页
第4页 / 共21页
AMFPHP入门教程.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、AMFPHP入门教程。 不想传递拆分字符串,解析串行XML了吧?厌烦JSON了?试试AMF吧,传送多种数据格式。首先下载AMFPHP(本教程使用1.9BETA2)你可以选择其他版本 在这里选择下载下载后,解压缩,把文件夹中的amfphp文件夹拷贝到 APACHE服务器的网站根目录。然后打开浏览器,输入http:/localhost/amfphp/gateway.php 确定如果提示:amfphp and this gateway are installed correctly. You may now connect to this gateway from Flash.Note: If yo

2、ure reading an old tutorial, it will tell you that you should see a download window instead of this message. This confused people so this is the new behaviour starting from amfphp 1.2.View the amfphp documentationLoad the service browser说明安装成功。打开网站根目录的AMFPHP文件夹,进入SERVICES文件夹,新建一个PHP文件命名为HELLOWORLD.p

3、hp拷贝以下代码:methodTable=array(say=array(access=remote,description=Pingsbackamessage);functionsay($sMessage)returnYousaid:.$sMessage;?保存!在浏览器地址栏输入http:/localhost/amfphp/browser/回车AMFPHP的项目管理器:单击 HelloWorld看到一下内容,就是HELLOWORLD项目具体内容:在sMessage输入内容(比如xiaoxiaocainiao), 单击call按钮:看到页面下方的提示结果:好了,你已经初步学会安装AMFPHP

4、并使用了,具体的语法,函数,还需要查看一下官方的文档啦。下面一起来做一个FLASH通过AMFPHP和PHP交互的小例子:到这里下载AMFPHP forFLASH8的组件,如果你使用其他版本,请到这里选择下载:下载后安装,完毕后打开FLASH ,查看 “窗口|公用库|Remoting”就可以看到AMFPHP的组件了。新建立一个工程,拖一个RemotingClasses组件到舞台的任何地方,再拖一个List组件,命名为myls,拖一个Button组件,命名为mybt在第一帧的代码行复制以下代码:importmx.remoting.*;importmx.rpc.*;importmx.utils.De

5、legate;importmx.remoting.debug.NetDebug;vargatewayUrl:String=http:/localhost/amfphp/gateway.php;varservice:Service;NetDebug.initialize();service=newService(gatewayUrl,null,PersonService);functiongetPerson()trace(getPerson);varpc:PendingCall=service.getPerson();pc.responder=newRelayResponder(this,han

6、dleGetPerson);functionhandleGetPerson(re:ResultEvent)trace(handleGetPerson);trace(re.result.getItemAt(0).name);_root.mytree.dataProvider=re.result;_root.mydg.dataProvider=re.result;functiononClick()getPerson();mybt.addEventListener(click,Delegate.create(this,onClick);在AMFPHP的SERVICES文件夹下新建一个文件,命名为Pe

7、rsonService.php复制一下内容到PersonService.phpmethodTable=array(getPerson=array(access=remote);mysql_connect(localhost,root,wuliqunao);mysql_select_db(test);functiongetPerson()$sql=sprintf(SELECT*FROMpersons);$query=mysql_query($sql);return$query;?好了,发布你的程序,单击Button按钮,看到结果:当然了,你的本机需要有个MYSQL数据有,里面简历一个test数据

8、库,这个库里面创建一个persons数据表,表里2个字段,一个是name,一个是age.(表告诉我,你搞不好这个库啊,搜一个MYSQL数据库入门教程,一下就知道啦。)好了,大功告成,开始学习AMFPHP之路吧AMFPhp 与 Flex Builder3 的交互(一)写一下php与Flex的交互。作为学习笔记,现在这方面中文文档貌似比较少。下面的大多数都来自http:/www.sephiroth.it 。英文好的同学可以直接去看。 好,先说一下我的基本配置吧。php 版本:php-5.2.6-Win32.zip,apache版本:apache_2.2.8-win32-x86,mysql版本:my

9、sql-5.0.51a-win32.具体的配置方法就不说了,去网上搜吧,太多了。我的本地服务放在 D:php。 好,ok。 在 amfphp-1.9.beta.20070513.zip 。下载后,解压到我的本地服务目录,即 D:php 。然后再浏览器中输入:http:/localhost/amfphp/gateway.php 如果你看到了如下信息,就说明安装成功了。amfphp and this gateway are installed correctly. You may now connect to this gateway from Flash.AMF C Extension is l

10、oaded and enabled.Note: If youre reading an old tutorial, it will tell you that you should see a download window instead of this message. This confused people so this is the new behaviour starting from amfphp 1.2.View the amfphp documentationLoad the service browser 好了,让我们写一个HelloWorld程序吧。首先打开D:phpa

11、mfphpservices目录,新建一个HelloWorld.php文件,在文件中输入以下代码: 1. 复制代码好啦,php端,就先这样了。然后我们写flex端的吧。在Flex builder3新建一个Flex工程。 需要注意的是,在Application server type选择php。呵呵,下一步。 在web root 下填入 D:php 即我的本地web服务的目录。root url 填入:http:/127.0.0.1 即本地IP啦,呵呵。然后下一步,如果你不改源文件的目录的话,就直接Finish啦。 好,在src里再新建一个xml文档,名字叫: services-config.xml

12、 ,打开,输入以下代码,这个flex与amfphp的配置文件。 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. *11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 复制代码然后右键点击你的项目,选择Properties选项,在弹出的对话框里选择Flex Compiler,在Additional compiler arguments里加入 -services services-config.xml,如图:点击src ,打开AMFphp.mxml,好输入以下代码: 1. 2. 3. 4. 5. 6.7. 8. 23. 24.25. 26. 27. 28.

13、 29. 复制代码好,先不管代码的含义,我们运行一下吧,如果你看见了下面的图片,你就成功了。 点击sayHello按钮,看见它和你问好了吗? 看见了!oh,Good.你太有天赋了,不编程可惜了,呵呵。今天先到这,有空继续。 (本文与作者博客同步更新,呵呵,做个广告,博客地址在下面)好,让我们来分析一下这段代码吧!在下呢,定义的就是RemoteObject相关的一些东东.(这话题听着别扭),id这个就不解释了,fault就是当服务调用失败并且操作自身不处理时,调度fault事件。showBusyCursor呢,如果为 true,在执行服务时就会显示忙碌光标。在这里重点是后两个属性,source和

14、destination。source后面写的是,你在服务器上的文件名,也就是咱们用php写的那个类的文件的名字,即在D:phpamfphpservices目录下,这个算是咱们本地服务的根目录。如果你要建一个新的目录为hello,然后把HelloWorld.php这个文件放进去,那么我们的程序应该改一下,即source = hello.HelloWorld 。destination有代表什么呢?服务的目标。这个值应该与services-config.xml文件中的目标条目匹配,那好,去找一下services-config.xml这个文件吧,看看有这个叫做destination这个东东吗? 该 这

15、行了,很简单,这个就是咱们要用的方法啊,名字和php里面方法的名字要一致哦。另外,需要注意的是在我们的显示界面的代码中,在label为sayHello的里面,click = myservice.getOperation(sayHello).send ,这行代码的意思就是当我们点击按钮的时候,将要执行我们的remoteObject对像中的sayHello方法,并且等待result事件,如果一切顺利,php端会给我们返回一个叫做Hello world的字符串,然后,将去调用里面的ResultHandler函数,接着我们的result_text文本就有任务啦,那就是显示这个字符串。怎么样,很简单吧。

16、(其他的请看源代码注释,我也是刚研究,有错误的地方请指正) 哇,今天学到了不少东西,明天继续。原来世界这么美好! 1. 2. 3. 4. 5. 6.7. 8. 27. 28. 29. 30. 31. 32. 33. 复制代码Amfphp与Flex交互-(三 ) 向php端写数据,并读返回数据好,还记得我们第一章讲得吗?不记得啦?看下这个链接啊 我们今天做的呢,前端,只要在第一章代码的基础上修改一下就好了,主要的是php端的改变。所以呢,你可以在你以前的工程里面新建一个Application,然后粘贴下面的代码哦。先看一下flex端的代码: 1. 2. 3. 4. 5. 6.7. 8. 27.

17、28. 29. 30. 31. 32. 33. 34. 复制代码发现变化了吗?没有?再仔细瞅瞅,哦!原来,在第三行,source里面,多了一个这个东东hello.AddEmialDb,这个是干什么的呢?就是帮助flex找到php的文件啊。在第4行,即 定义RemoteObject的里面,我们换了一个叫做InputUser的函数,当然,这个一定是php端函数啦。在第29行,按钮的click事件里面getOperation的参数也同样改变为InputUser,另外send()函数里面好像多了一个文本信息,猜猜?恩,对,这个就是要向Amfphp端发送的东东。很好理解。对吧?然后是php端,在D:we

18、brootamfphpservices 新建一个hello目录,在这个目录中再新建一个叫做AddEmailDb.php的文件。然后用你所熟悉的编辑器打开它,敲入以下代码:(“傻瓜,我才不敲呢,我要copy过去。” 好吧,随你!) 1. 复制代码运行你的Apache ,开启你的mysql。在mysql里面要建立一个数据库(我用的是phpMyAdmin),起个名字叫做“mmmm”,建立一张表叫做“mmmm”,表有两个字段,一个叫做“id”,另一个叫做“adressemail”。好!在flex端运行。看到与下面这张图一样的界面了吗?看到了?继续,在文本区域内,输入一个邮件地址吧。然后点击Send按钮

19、,如果文本框里出现了一个success的单词,那么恭喜你,成功了。你太有才了,还真不是盖的。哈哈!)php端的代码是啥意思呢?首先我们看到一个叫做 AddEmailDb的类,这里一定要注意,这个类的名字一定要和这个文件的名字相同,然后是InputUser($post)这个函数,它带了一个参数,这个参数就是我们用来接收Flex端 result_text.text 里面的信息的。然后呢,下面是一对链接mysql的语句,关键的是 1. 2. else3. 4. $sql = Insert INTO mmmm(id, adressemail) VALUES (,$post);5. mysql_quer

20、y($sql);6. 复制代码这段代码,就是往数据库里面插入信息啊。最后还注意一个 return success;这个就是我们发送成功后返回的那个单词啊,怎么样,很好理解吧。看到这,你还犹豫什么呢?继续在code的世界里面遨游吧。没有解决不了的问题哈!加油!AMFPhp与Flex3交互(二)-一个带有DataGrid稍微复杂的例子今天我们做一个稍微复杂的例子,在这个例子中,我们将要用到ArrayCollection作为返回的结果。在这个例子中,我们可爱的remote方法将会返回一个数组,数组中的值哪来的呢,就是在Person类里面的属性,呵呵。首先在我们的本地服务大本营,D:phpamfphp

21、services (为啥这个是大本营啊,去看看教程的第一节,呵呵),建立一个叫做tutorials(认识这个单词吗?它是“指南”的意思,我又学会了个单词)的目录,我们今天要在这个目录里写一些php文档。废话不多说,上代码!建立一个叫做Person.php的文档。代码如下: 1. 复制代码在这里面我们看到这样一个变量$_explicitType ,这位老兄是干什么的呢?他是告诉amfphp老大,这个类是与flash中的tutorials.Person(注意,这里的这个类是在flash中的,我们还没有建立,马上我们就要创建它)这个类等价的。好,既然你告诉amfphp老大有这个类了,那就要建立一个啊,要不被老大揍可不是闹着玩的。好,上一节我们已经建立了一个工程,我们就还用那个工程吧,点击打开src文件夹,右键新建一个文件夹,起名字叫做tutorials,在这个文件夹中再建立一个Person.as文件。好,把下面的代码拷贝进去。 1. package tutorials2. 3. RemoteClass(alias=tutorials.Person)4. Bindable5. public class Person6. 7. public var firstName:String;8.

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服