Felipe Orellana - Code Mania

Posts tagged ‘free code’

AMFPHP and flash remoting

June 12th, 2008

Its been a little while since the last post, but I have some code I have been wanting to share. A little while ago I had written a business card template editor with client/admin areas for a shopping cart solution I had been working on.

The editor needed to create JPG images on the fly and send the full resolution images back to the server. It also picked up the template descriptions from a mysql database through PHP and passed it to the AS3 App all through AMFPHP.

It became clear to me, that it was quite anoying having to put my method calls on a string every time I need some data, and go through they whole process of creating a listener for the call. So I wrote two classes to help me out roll out the code faster. The code allows calls to an AMFPHP gateway just as if it was part of the AS3 code with namespaces and methods. So calls can now be written in one or two lines of code like this:

— AS3 CODE: –
[cc lang="actionscript" tab_size="2" lines="40"]
import com.orellana.speed.remote.Remoting;
import com.orellana.speed.remote.Callback;
var remote:Remoting = new Remoting(’http://www.yourdomain.com/AMFPHP_gateway.php’);
remote.myservicefolder.myservice(args…).callback(__myCallbackFunc, __myErrorEventFunc);
[/cc]

So, service folders become namespaces, the php classes become as3 class, and the php function behaves just like a function in as3. The only difference is the callback object returned by that method which is used handle returned values and optionally error events.

More information about AMFPHP can be found here: http://osflash.org/projects/amfphp
I also I just found this Post on code czar about remote calls and type safety, but I’m not sure if its the same thing.

Here are the classes:
Remoting.as
CallBack.as

Proudly powered by WordPress. Theme developed with WordPress Theme Generator.
Creative Commons License