Inside DocBlox

2,485 views
2,274 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,485
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
18
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Inside DocBlox

  1. 1. DocBloxe! id nsYour source matters I
  2. 2. Mike van Riel @mvriel Lead Developer of DocBlox Senior Developer for Unet B.V. Active with PHP since 2002
  3. 3. What is DocBlox?● Documentation Generation Application (DGA) for PHP● Inspired by phpDocumentor and JavaDoc● Generates documentation from your source code● Uses the comments in your source code
  4. 4. InstallationInstallation via PEAR $ pear channel-discover pear.docblox-project.org $ pear channel-discover pear.zfcampus.org $ pear channel-discover pear.michelf.com $ pear install docblox/DocBlox-beta
  5. 5. Project Goals● Generate great documentation!● Low memory footprint● High-speed processing● Support for PHP 5.3 features● Compatibility with phpDocumentor tags and syntax● Extensibility● Forward compatibility
  6. 6. Status● Memory: Processing ZF only uses approx. 50MB● Speed: Processing ZF takes 7 to 9 minutes (instead of 80 - 100)● PHP 5.3: Full support for all new features● Extensibility: 3 Level API Easy theming Plans for behavioural / tag plugins
  7. 7. Docblocks/** * This is a short description. * * This is a long description, which * may span multiple lines and contain * {@inline} tags. * * @param string $a This is the first variable. * @param int $b This is the second variable. * @param array $c This is the third variable. * * @return void */function MyFunction($a, $b, array $c){}
  8. 8. Supported elements● Files● Namespaces● Includes● Classes● Functions, methods and closures● Properties● Constants, both global and class● Docblocks for all of the above
  9. 9. Supported TAGS● @abstract* ● @ignore* ● @since*● @access ● @internal* ● @static*● @api ● @license ● @staticvar*● @author* ● @link ● @subpackage● @category* ● @method* ● @throws / @throw● @copyright ● @name* ● @todo● @deprecated* ● @package ● @tutorial*● @example* ● @param● @final* ● @property* ● @uses / @usedby*● @filesource* ● @return ● @var● @global* ● @see* ● @version*
  10. 10. Project StructureCore Parser Transformer Reflection Tasks Tokens Validators Writers Behaviours
  11. 11. CODE! Lets browse the code.$ git clone http://github.com/mvriel/docblox
  12. 12. Tasks$ docblox list$ docblox project:list$ docblox <namespace>:<name> -h
  13. 13. Creating BRANDING$ docblox theme:list$ docblox theme:generate -t <PATH> -n <NAME>
  14. 14. BRANDING tips● Re-use the default theme XSL templates as much as possible. They add functionality onto your branding.● When invoking branding from outside the DocBlox application folder; it will be moved to data/themes/cache first.● Mind the relative paths between server side and client side; they probably differ.
  15. 15. CODE! Lets browse the code.$ git clone http://github.com/mvriel/docblox
  16. 16. Thank youIRC: Freenode/#docbloxGithub: https://github.com/mvriel/docbloxWebsite: www.docblox-project.orgTwitter: @docblox @mvrielE-mail: mike.vanriel@naenius.com

×