AMFPHP (Flash Remoting written in PHP) has hit a stable version 1.0 release! I’ve been looking forward to this for a long time.
Flash Remoting is a method of transfering data to a Macromedia Flash Movie. It sends it in binary format and is much easier to use as it arrives in an object form, meaning, you don’t have to sort through the child nodes of an XML object. I have been using AMFPHP for over a year on several projects (being one of the main backend developers in my company, mediaRAIN) to send stuff. I created the logo storage of LogoMaker/InstaLogo using AMFPHP which handles, and I quote, “a lot.” Actaully, in July we got 4.4 million posts to the remoting service. I suppose that’s on average almost 100 a minute! We’ve also used remoting in several other applications.
I’ve been pretty pleased just with the ability to pass data back an forth from Flash to PHP. The only things that bothered me was the beastly methodTable array the PHP service needed and the design issue in which your Flash objects are converted into associative arrays in PHP rather than PHP objects. The methodTable is now created using reflecting and JavaDoc style documenting (very nice) and as for the array vs object issue, well, I made a hack for that myself in our version of the remoting. Associative arrays are “more natural” in PHP, and you can use the methodTable to define custom object types. Well, not recursively, however, you can now be able to associate a PHP class with a Flash class in version 1.0. Really nice feature. Kudos to all of those who have helped develop PHP remoting for Flash. You can see all of the new features in 1.0 yourself, but it’s faster, more organized, more features, and the whole bit.
Pherret currently can be integrated with Flash Remoting and will have full support as an extra module. mediaRAIN is all about Flash, so of course I had to take that into consideration as I built Pherret. But you have a truer Model View Controller (MVC) system when you can use different views (HTML or Flash) or controllers and the same model.