amfphp安装使用 2008-10-21 10:12 http://amfphp.sourceforge.net/ 下载最新的版本
1 解压到:E:\sites\mysite\amfphp
2 修改E:\sites\mysite\amfphp\gateway.php //$gateway->setCharsetHandler("utf8_decode", "ISO-8859-1", "ISO-8859-1"); $gateway->setCharsetHandler( "none", "ISO-8859-1", "ISO-8859-1" ); //修改by许雷,2008.10.21
3 services_config.xml <?xml version="1.0" encoding="utf-8" ?> <services-config> <services> <service id="amfphp-flashremoting-service" class="flex.messaging.services.RemotingService" messageTypes="flex.messaging.messages.RemotingMessage"> <destination id="amfphp"> <channels> <channel ref="my-amfphp" /> </channels> <properties> <source>*</source> </properties> </destination> </service> </services> <channels> <channel-definition id="my-amfphp" class="mx.messaging.channels.AMFChannel"> <endpoint uri="http://www.mysite.com/amfphp/gateway.php" class="flex.messaging.endpoints.AMFEndpoint" /> </channel-definition> </channels> </services-config>
4 E:\sites\mysite\amfphp\services\getUserService.php <?php class getUserService { function getUsers(){ mysql_connect('172.20.82.173','edu','edu'); mysql_select_db('edu5'); mysql_query('SET NAMES UTF8'); $sql = 'SELECT * FROM edu_user_all LIMIT 1'; $result = mysql_query($sql); $rows = mysql_fetch_array($result); return $rows; } }
//$myobj = new getUserService(); //print_r($myobj->getUsers()); ?>
5 RemotingExample.mxml <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()"> <mx:Script> <![CDATA[ import mx.rpc.http.HTTPService; import mx.rpc.events.ResultEvent; import mx.rpc.events.FaultEvent; import flash.events.Event; import mx.managers.CursorManager; internal function initApp():void { service.getOperation('getUsers').send(); } internal function resultHandler(evt:ResultEvent):void { CursorManager.removeBusyCursor(); myList.labelField = "username"; myList.dataProvider = evt.result; } ]]> </mx:Script> <mx:RemoteObject id="service" showBusyCursor="true" source="getUserService" destination="amfphp"> <mx:method name="getUsers" result="resultHandler(event)" /> </mx:RemoteObject> <mx:Panel styleName="myPanel" layout="absolute" title="名册" width="200" height="400"> <mx:List id="myList" width="100%" height="100%"></mx:List> </mx:Panel> </mx:Application>
7 编译: E:\sites\mysite\swf>mxmlc RemotingExample.mxml -locale en_US -services services_config.xml
8 如果要传递参数到服务器: [Bindable] public class Reservation { public var reservationId:int = 0; public var fullName:String = ""; public var address:String = ""; public var city:String = ""; public var state:String = ""; public var postalCode:String = ""; public var phone:String = ""; public var dateNeeded:String = ""; public var options:String = ""; public function Reservation() { } }
var dataObj:Reservation = new Reservation();
dataObj.reservationId = 0; dataObj.fullName = fullname.text; dataObj.address = address.text; dataObj.city = city.text; dataObj.state = state.text; dataObj.postalCode = postalcode.text; dataObj.phone = phone.text; dataObj.dateNeeded = dateNeeded.text; dataObj.options = selectedOptions.toString();
<mx:RemoteObject id="hs" destination="ColdFusion" source=”reservations.ReservationService” fault="faultHandler(event)"> <mx:method name="doCreate" result="resultHandler(event)"/> </mx:RemoteObject>
hs.doCreate(dataObj);
------------------------------向服务器传递参数实例-------------------------------------------- <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()"> <mx:Script> <![CDATA[ import mx.rpc.http.HTTPService; import mx.rpc.events.ResultEvent; import mx.rpc.events.FaultEvent; import flash.events.Event; import mx.managers.CursorManager; internal function initApp():void { //service.getOperation('getUsers').send(); service.doCreate("test123"); } internal function resultHandler(evt:ResultEvent):void { CursorManager.removeBusyCursor(); myList.labelField = "username"; myList.dataProvider = evt.result; } ]]> </mx:Script> <mx:RemoteObject id="service" showBusyCursor="true" source="getUserService" destination="amfphp"> <mx:method name="getUsers" result="resultHandler(event)" /> <mx:method name="doCreate" result="resultHandler(event)" /> </mx:RemoteObject> <mx:Panel styleName="myPanel" layout="absolute" title="名册" width="200" height="400"> <mx:List id="myList" width="100%" height="100%"></mx:List> </mx:Panel> </mx:Application>
php文件: <?php class getUserService { function getUsers(){ mysql_connect('172.20.82.173','edu','edu'); mysql_select_db('edu5'); mysql_query('SET NAMES UTF8'); $sql = 'SELECT * FROM edu_user_all'; $result = mysql_query($sql); $rows = mysql_fetch_array($result); return $rows; } function doCreate($str){ return array($str.'in php'); } }
//$myobj = new getUserService(); //print_r($myobj->getUsers()); ?>
----------分析---------------- 这里:service.doCreate("test123");直接向服务器的doCreate方法传递了一个字符串 还可以传递对象。
|
相关推荐
amfphp和flex通讯的例子,一个及时聊天的例子,适合学习amfphp的朋友和网络开发的朋友学习
NULL 博文链接:https://ccz2005.iteye.com/blog/365738
amfphp1.9 flex php flex和php的桥连amfphp1.9 flex php flex和php的桥连amfphp1.9 flex php flex和php的桥连
flex之amfphp通信实例源码,除了实例源码,还有一些其他帮助文件
liaison entre le php et flex
这个是官网的amfphp-2.1.1,供写flex和php的童鞋下载哇!里面附带我自己给它的使用方法。
适合初学者看的东西,里面详细讲述了使用 amfphp 的方法。 amfphp 到底有吗用呢?其实很简单,他可以让php给你不同类型的 数据,而不仅仅只有json那的string了。
不想传递拆分字符串,解析串行XML了吧? 厌烦JSON了? 试试AMF吧,传送多种数据格式。
amfphp2.1.1版本,可用于php与flex等前端技术的通信
Apache + Php + Amfphp
A javascript-based standards-friendly way of making Flash content accessible to browsers without Flash installed, including screen readers and primitive
An AMF and PHP interactive document,about the AMF is how to connect with php
AMFPHP是Action Message Format(AMF)的一个开源PHP实现。用于在PHP与Flash播放器无缝交换数据。
amfphp flash
AMFPHP是Action Message Format(AMF)的一个开源PHP实现。用于在PHP与Flash播放器无缝交换数据。
flex第一步源码,flex,actionscript,as3.0,as,actionscript 3.0,flash builder,
amfphp,flash,flex,php
myamfphp 实现php与flex交互
mysql+apache+php+phpMyAdmin+amfphp 配置教程 对新手来说还是很有用的 有什么不懂的可以来我的博客。
不想传递拆分字符串,解析串行XML了吧? 厌烦JSON了? 试试AMF吧,传送多种数据格式。