Skip to main content

PHP binding for Apache Qpid's Messaging API

· 2 min read
Apache Qpid™ Logo

Apache Qpid™ is a high performance open-source message queuing system. But there's no point me telling you all about it - just check it out over at http://qpid.apache.org/.

The Qpid project provides two different message brokers, and several client APIs. However it did not yet have a PHP client API, so I set about writing one :)

Although the PHP binding I created is SWIG-based, it was not as straight-forward as writing a simple SWIG interface file, and compiling... no sir! First off, running SWIG on the standard Qpid headers in PHP mode resulted in SWIG seg-faulting. So after reporting that bug to SWIG (it has since been fixed, yay!) and developing a workaround, I then had to solve a number of small issues, and then write some Qpid Variant ⇔ PHP type-mapping routines.

All in all, it was actually quite a fun bit of work (once I got my head around how SWIG works). So the PHP binding is now available as a diff attached to this Qpid issue (and also attached below)... hopefully it will be committed to the Qpid repo sometime, but either way, I would be really interested to get some feedback if anyone gets around to trying it out :)

Attachments