json and sqlite doc downloads
| From: | Philip Olson | Date: | Tue, 05 Jul 2011 02:22:52 +0000 |
| Subject: | json and sqlite doc downloads | ||
| Groups: | php.doc | ||
| Request: | Send a blank email to phpdoc+get-969382874@lists.php.net to get a copy of this message | ||
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