[> AmfPHP – ServiceHelper <]

Category : [> Coding <]

vdd

This is a tiny amfphp Service Helper Class for the Flash IDE you can Input these Parameters :

GATEWAY () / The AmfPHP Gateway , METHODE() / The Service Call , QueryString () / If it is a Read or a Write Methode ,a Array of Arguments , the Container Array / in the Service Helper Class its called “DataVault”.

for Example :

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
import mat3d.remoting.*;
var myContainerArray:Array = [];
var myBlindArray =[];
function onResult(e$:EventObject):void
{
 for(var a:Number = 0; a<myContainerArray.length() ;a++) {
    //** --do this and that with the Data arrived in the Container Array-- **//
  }
}
var myServiceCall = new ServiceHelper("http://localhost/amfphp/gateway.php","AmfPhpService.execute()","READ",myBlindArray,myContainerArray);
myServiceCall.addEventListener("onServiceResult",onResult);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


/**
* @author Matthias Bode / mat3d 08/2011
*/
package mat3d.remoting {
import flash.net.NetConnection;
import flash.net.ObjectEncoding;
import flash.net.Responder;
import mat3d.remoting.vo.ItemVO;
import flash.events.*;
class ServiceHelper extends EventDispatcher {
  private var myConnection : NetConnection;
  private var myGateway : String;
ยด private var myMethod : String;
  private var myQuery : String;
  private var myArgs : Array;
  private var dataVault : Array;
  public function ServiceHelper(gtw : String,Meth : String,Query : String,Args : Array,Cont : Array) {
                   myGateway = gtw;
                   myMethod = Meth;
                   myQuery = Query;
                   myArgs = Args;
                   dataVault = Cont;
                   switch(myQuery) {
                   case "READ":
                   myConnection = new NetConnection();
                   myConnection.connect(myGateway);
                   myConnection.call(myMethod, new Responder(onResult, onFault), 1);
                   break;
                   case "WRITE":
                   myConnection = new NetConnection();
                   myConnection.connect(myGateway);
                   myConnection.call(myMethod, new Responder(onResult, onFault), myArgs[0], myArgs[1]);
                   break;
                   }
          }
   private function onResult(eventObject : Object) : void {
          switch(myQuery) {
          case "READ":
              for(var i:Object in eventObject) {
              var myDataObject = new Object();
              myDataObject.data = eventObject[i].myData;
              myDataObject.text = eventObject[i].myText;
              dataVault.push(myDataObject);
            }
             case "WRITE":
           }
           this.dispatchEvent(new Event("onServiceResult"));
   }
   private function onFault(eventObject : Object) : void {
        trace(eventObject.Fault);
    }
    public override function toString() : String {
        return "mat3d.remoting.GetService";
}
&nbsp;&nbsp; &nbsp;}
}

/**
 * @author Matthias Bode / mat3d 08/2011
*/
package mat3d.remoting.vo {
public class ItemVO {
public var myData : String;
public var myText : String;
}
}

@