phpDox is the documentation generator for PHP projects.
This includes, but is not limited to, API documentation.
By default, phpDox uses PHP-Parser to collect information about a PHP codebase. The information collected is stored in XML documents.
These XML documents can be enriched with information from external sources, like XML logfiles of PHP_CodeSniffer, PHP Mess Detector (PHPMD) or PHPUnit.
This information is rendered to HTML, for instance, by applying XSL transformations to the XML data.
Thanks to PHP-Parser, phpDox will always be able to parse PHP code that uses the latest syntax features of the language.
An API is provided to register custom or extended backends as well as additional DocBlock annotation parsers.
The enricher subsystem of phpDox is based on plugins.
Writing enricher plugins is easy and allows phpDox to process additional information from new tools quickly.
The generator subsystem is based on plugins, so-called engines.
The default HTML engine uses XSLT stylesheets that ship with phpDox and can be adapted or replaced to customize the presentation of the information that is processed.
It takes 1.26 minutes (and 50 MB of memory) to process Zend Framework 2 on the first run.
And only 24.6 seconds (and 11.75 MB of memory) on subsequent runs.