Growing adoption of the Experience API is a core part of what I’m tasked to do around here. Providing high quality, easy to use, open source libraries is one of the best ways I know to do that (aside from writing blog posts, of course!)
The JavaScript library is humming along, our Java clients are happy, and the iOS/Android platforms are well-supported. The natural progression was to knock out a PHP library.

It isn’t a trendy language these days, but it is hard to ignore the sheer amount of PHP in the world. WordPress and Moodle alone warrant a PHP library, so we delivered. Visit the TinCanPHP homepage at:
Like its siblings, TinCanPHP is open source, available on GitHub, and has the Apache 2.0 license attached to it. It has an object-oriented architecture that will be familiar to users of our other libraries. It is available via the Composer package management tool and is registered in Packagist. It requires PHP 5.4 or newer and uses only core libraries. While the intention is for it to be used by Activity Providers, it provides an LRS interface such that it could be used to author an LRS. Right now it supports the 1.0.0+ specification, but still needs some work around attachments.
While it is developed with PHP best practices in mind and is tested, there is sure to be room for improvement. After all, I’m not an expert PHP developer by any stretch. We’ve already had one bug submission from the community (which has been fixed of course) but would love to hear about any you find. “Pull Requests Accepted!” as always. I plan to improve the online documentation, flesh out some more of the unit tests, and fix any issues raised by the community. In so far as xAPI is still in the early adopter phase, so is this library, though I don’t anticipate a need to substantially change the interface (other than additions).
For further updates on TinCanPHP, follow @ProjectTinCan and/or @k95bm01 (that’s me) on Twitter.

Brian Miller, or B. Miller, is the most pedantic person at the office, which is saying something. That skill makes him great at ensuring our products support the standards, which is precisely what he spends his days doing.