Hello everyone,

This proof-of-concept includes json and sqlite versions of the PHP Manual 
reference/ section. Check it out:

- http://doc.php.net/downloads/

How it's generated:
---------------------

- General notes
-- Based on PhD_IDE
-- A script builds the manual 6x a day on docs.php.net (also home of 
doc.php.net)
-- The json/sqlite builds build via the same cronjob
-- The build script is managed using a Makefile
-- These builds use phd/trunk and phpdoc/*/trunk
-- php -dmemory_limit=1024M render.php -P IDE -d .manual.xml -f funclist -f xml 
-f sqlite

- sqlite
-- mv -f output/ide-sqlite.sqlite www/downloads/sqlite/php_manual_$(@F).sqlite

- json
-- php -dmemory_limit=1024M gen-json.php -l $(@F)
-- This creates json/php_manual_$lang.json
-- Script based on: doc-base/scripts/gen-ide-json.php

Hopefully this provides a rough idea. The sqlite option is new (kudos to 
Moacir) so we'll refine that, and then generate other formats (including json) 
using it. The sqlite version includes all known reference information, and will 
be a good base for future doc QA tools and stats. E.g., find all 5.3.0+ 
changelog entries, find non-initialized optional params, find most common 
seealso links, php -l examples and create unit tests, find X, create func 
lookup API at php.net, ....

Moacir is adding non-reference support so one day these (or other) sqlite files 
will contain non-reference material (e.g., $_SERVER, PHP_EOL, elseif) but this 
is not trivial.

tl;dr: PhD_IDE is doing stuff, and should be renamed to PhD_Awesome :)

Regards,
Philip

Reply via email to