Clase Remoting AMFPHP - ActionScript 3
29/10/2007
En hora buena, ya tengo desarrollada una clase para manejar las conexiones a bases de datos MySql con Remoting y AMFPHP..
Veamos lo simple de la implementación:
import phoxer.DataManager.Remoting; var superUrl:String="http://www.phoxer.com"; //Ruta hacia donde esta el amfphp; var rm:Remoting = new Remoting(String(superUrl+"/amfphp/gateway.php"),onError); function onError():void{ }
Listo, con eso estamos conectados a la base de datos..
Aca esta la clase Remoting completa:
/** Remoting by .:[Phoxer]:. http://www.phoxer.com v 2.0; */ package phoxer.DataManager{ import flash.events.Event; import flash.events.NetStatusEvent; import flash.net.NetConnection; import flash.net.ObjectEncoding; import flash.net.Responder; import flash.system.Security; public class Remoting{ private var coneccion:NetConnection private var respuesta:Responder private var servicioMetodo:String; private var errorBack:Function; public function Remoting(gateUrl:String,err:Function=null){ Security.allowDomain("*"); Security.allowInsecureDomain("*"); coneccion = new NetConnection(); coneccion.objectEncoding = ObjectEncoding.AMF0; coneccion.connect(gateUrl); errorBack=err; } public function setConeccion(Opts:Object, servicio:String, methodo:String, Fback:Function):void { respuesta = new Responder(Fback, onError); servicioMetodo=servicio+"."+methodo; coneccion.call(servicioMetodo, respuesta, Opts); coneccion.addEventListener(NetStatusEvent.NET_STATUS, netStatus,false,0,true); } private function onError(fault:Event):void { if(errorBack!=null){ errorBack(); } } private function netStatus(status:NetStatusEvent):void { trace(status.info.code) switch (status.info.code) { case "NetConnection.Call.Failed": if(errorBack!=null){ errorBack(); } break; case "NetConnection.Call.BadVersion": if(errorBack!=null){ errorBack(); } break } } } }
