Updating PHP Documentation
I sometimes help update the PHP documentation. I have not done it in a while since I started maintaining pecl/memcache. However, there was a recent bug submission where I felt the documentation for pecl/memcache should be updated. A lot of work has been done to the documentation tools since I last updated documentation. I went to http://doc.php.net for a quick primer on how to generate some new documentation output so I could test my changes and found the documentation for generating documentation a little hard to follow.
PHP documentation generation is done in two steps. First, you need to generate the docbook file. You somehow have to find this page http://doc.php.net/php/dochowto/chapter-configure.php that explains how. Once the docbook file, normally called manual.xml, is generated you have to actually generate the documentation output. I found the PhD manual here: http://doc.php.net/phd/docs. PhD can create a number of different documentation formats from the docbook file. I normally just use the xhtml output and serve the page up on my local web-server to verify my changes. I found section on rendering to be a little hard to follow. Here are the steps I used to update the content on the Memcache:getExtendedStats page:
sudo pear install doc.php.net/phd-beta
# use a sparse SVN checkout so all the languages and
# the tags and branches directories are skipped
svn co http://svn.php.net/repository/phpdoc --depth empty phpdoc
# checkout the documentation toolset
svn update phpdoc/doc-base --set-depth empty
svn update phpdoc/doc-base/trunk --set-depth infinity
# checkout the english version of the documentation
svn update phpdoc/en --set-depth empty
svn update phpdoc/en/trunk --set-depth infinity
cd phpdoc
vim en/trunk/reference/memcache/memcache/getextendedstats.xml
# generate the docbook file
# disable libxml check as Cent OS 5.5 does not have LibXML version 2.7.4
# put the docbook file in the root phpdoc directory
php doc-base/trunk/configure.php --output=manual.xml --disable-libxml-check
# generate xhtml output in the output/ directory
phd -d manual.xml -f xhtml
Note: you can safely ignore the E_USER_WARNING about "Image does not exist" when generating the output.