A unit-tested, OOP library for php5.
Whenever I find a class which isn't specific to the current project, I stick it in a general-purpose library. This is it. There's no specific plan. Aperiplus will grow piece by piece into whatever it is that it grows into.
So far most of the general-purpose stuff that has dropped out of other projects is to do with testing. If you use SimpleTest have a look at the simpletest extensions. There are tools for testing shell scripts and classes which interact with a database, filesystem or subversion repositories. A mixin-style system for test case fixtures and decorators helps to organise code leading to cleaner-reading tests. More details in the docs, below.
When I'm running tests it's always on (Gentoo) Linux and the command line. I can't guarantee any of the following will work in other environments. I could probably add support for other OS's etc if there was any interest.
Note that all the extensions assume that test cases are ultimately derived from AperiTestCase (a SimpleTestCase replacement). They are not compatible with SimpleTest test cases. You cannot mix the two together in the same path. You can't have UnitTestCase-derived tests in the same file as an AperiTestCase-derived test case. You can't even have them in different files in the same directory. If you want to try out the simpletest extensions you'll have to use them exclusively in a new project. Too much has changed under the bonnet to remain compatible. I could probably tweak the Aperiplus runner code to run SimpleTest tests, but it can't work the other way round.
Some general thoughts on programming and php.
Currently there is no windows support.
No releases as yet but you can checkout the latest subversion revision from the sourceforge project page.
$ cd /wherever/you/keep/php/code/
The above dir should be an include path. If not, add it now.
Check out Aperiplus:
$ svn co https://aperiplus.svn.sourceforge.net/svnroot/aperiplus aperiplus
Now grab Simpletest and Phemto:
$ svn co https://simpletest.svn.sourceforge.net/svnroot/simpletest/simpletest/trunk simpletest $ svn co -r14 https://phemto.svn.sourceforge.net/svnroot/phemto/trunk phemto
That's it. To run the Aperiplus test suite you'll need to create a file: aperiplus/config.php. See aperiplus/config-sample.php for details.
If you get a lot of passord prompts (subversion fixtures) add your public key to ~/.ssh/authorized_keys.
You can get in touch via the Aperiplus mailing list. My name is Noel Darlow. You might have met me online under the name mcgruff.
Thanks to the developers of SimpleTest without which I couldn't write a line of code. Also to the project host sourceforge.