So far, of all the AMF frameworks I have been a proponent of AMFPHP and RailsAMF. I still don’t know RoR very well (working on it), but I’ve been using PHP for a long time and have grown to love it so AMFPHP was always my natural choice.
Now we have a new player in Flash Remoting arena – ZendAMF. Why should anybody care when AMFPHP was just fine?
A few reasons.
1. First of all, both come from Wade Arnold, who has provided the Flash community with these custom tailored, top shelf, free, Flash Remoting systems.
As far as I’ve noticed, Wade is putting his time now in ZendAMF which is a tell-tell sign to begin with.
2. I really like the custom class mapping in ZendAMF. It offers quite some flexibility in comparison to AMFPHP. Options are explained (options – wow!) under “3.2.4. Typed Objects“.
Of the three approaches, I personally prefer the setClassMap method in the bootstrap file because it provides me with a single point of reference.
3. It’s a part of a PHP MVC framework called Zend. Not that I have tried it out much so far, but it sounds appealing that there is a MVC framework that you can rely on behind this.
4. Once you get through all the quirks, it is really easy to set up. The major issue that I had was making PHP files always processed as PHP5 which is necessary for the Zend Framework to run.
I didn’t know that at the time so I was cursing away but eventually I found this little line for .htaccess file that did just that:
AddType x-mapp-php5 .php
Otherwise, Zend setup is easy as pie and you can read about it here.
5. Lastly, Adobe supports it. Sure sounds good.
Here are also some video tutorials that might be useful to start with:
Getting Started with Zend AMF (Zend_Amf) – Part One
I’m curious to hear opinions about ZendAMF as I’m about to adopt it as a standard in production.

That was a good assessment. Currently, the biggest (maybe the only downside) to ZendAMF is the lack of AMFEXT (PHP extension written in C that implements encoding and decoding of AMF and AMF3 messages).
There is a huge performance boost when using AMFEXT.
According to Wade, a new extension is on the table to be done. But there are other priorities for ZendAMF that must get completed first.
The dealbreaker for me is swx support. ZendAMF doesn’t have it, and if you’re working with Flash Lite, remoting isn’t in the picture.
I don’t think I’ll be using the MVC part of the Zend Framework – it seems like overkill when my Flex/AIR apps are usually full MVC projects – but the great thing about Zend is you can just use the libraries you want, eg. the authentication/authorisation system and database layer.
Lately, we’ve been using Drupal as a backend, Flex as a front-end and communicating between with DrupalAMFPHP. A very quick way to get a project up and running with full CMS functionality (inclusing user management obviously, but the ready-made blogs, forums, and Organic Groups module are also handy).
Wade basically dropped the ball and abandoned AMFPHP the day Patrick Mineault handed him the project. It’s a shame; the last updates were in 2006; but it’s still by far the fastest and easiest option out there. There are issues with the AMF3 serializer that will probably never be fixed. But, as someone else mentioned, the speed boost from AMFEXT is everything. It’s 15x faster or more than ZendAMF at this point.
Furthermore, the Zend framework seems like cumbersome overkill for simple remoting, and I get the sense that Wade and Zend don’t really care much about the original AMFPHP user base — this is just a side-offering for the larger framework, with all the unnecessary overhead for our purposes that that implies.
I’ll be using Patrick’s code until something better comes along. Keep an eye on FlashMOG — shows a lot of potential as a PHP socket server, but needs some polishing…
I don’t know what the motive is for Arnold dropping amfphp and taking on Zend Amf, but clearly there is a lot of cynicism. I hope he’ll clear this up. Still am entirely greatful for his efforts towards the amfphp project. I barely spent 10 minutes with Zend amf and I was already bored, but I’ll keep tryin…long live amfphp! You served us well..
I’m finding my ZendAMF calls take much longer to return to Flash than AMFPHP, although the scripts execute just as fast when tested explicitly from the php file… haven’t figured out why yet.