I've been fiddling with two PEAR packages for PHP, PHPDocumentor and PHPUnit2. This is part of an attempt to make my PHP development more structured. These should provide, respectively, a unit testing framework and a system for documenting my code.
One annoying thing about PHP libraries is that they seem to have multiple incarnations (e.g. a PEAR homepage and another homepage), which reference different versions; and there are multiple libraries with very similar names which do similar things; plus the documentation is appalling in nearly all cases. It took me a while to hunt through the rubble to find what I wanted, but I got there eventually.
So, still using the trusty XAMPP (which bundles PEAR), I installed these two with a simple:
/opt/lampp/bin/pear install --alldeps phpunit2 /opt/lampp/bin/pear install --alldeps phpdocumentor
--alldeps ensures all dependencies of the packages are installed as well. I've toyed with PHPUnit and got that working satisfactorily (I think a howto may be in order before too long), but haven't got round to PHPDocumentor yet.
PEAR (and the related PECL) are noble attempts to pull together the morass of PHP libraries, but they are still very hard to dig around in. What's needed for PHP is a kind of "PHP Ubuntu", which sorts the wheat from the chaff and presents the "best of breed" libraries for particular tasks. Typically this will be the PEAR/PECL libraries, but occasionally there will be gaps or deficiencies in PEAR where you want to know what the good solutions are (e.g. Phrame for Model-View-Controller, Smarty for templating). I'm hoping that companies like SourceLabs might move into this area and produce an add-on for their AMP stack.