Yesterday we’ve released version 1.0 of Okapi, a web framework built with PHP and XSLT. I’ve spent a substantial amount of time during the last months working on that release. Okapi is the framework we use at local.ch for all our frontend needs and was originally developed by Silvan from Liip.
So far we used a heavily modified fork of Okapi. New projects at local now don’t use that internal fork anymore but instead the official central Okapi. To facilitate that I’ve merged some stuff from our fork into the main repository and also I’ve cleaned up the code base so that Okapi now sucks less.
The main features are these:
- A small routing engine (mostly inspired by Rails as all the other routing engines out there today)
- Models which provide XML representation of a diverse set of data
- XSLT views
- Configuration handling
- Internationalisation
Because of it’s good XML and XSLT support it’s ideal for SOA architectures, especially when built with REST APIs.
Development on Okapi will continue. But the idea is to add new features as extensions, so that the core can stay small.