PHP Docblock parser and generator. An API to read and write Docblocks.
Install via Composer:
{
"require": {
"gossi/docblock": "~1"
}
}
And inject the Composer autoloader into your source code:
require_once 'path/to/vendor/autoload.php';
a) Simple:
use gossi\docblock\Docblock;
$docblock = new Docblock();
b) Create from string:
use gossi\docblock\Docblock;
$docblock = new Docblock('/**
* Short Description.
*
* Long Description.
*
* @author gossi
*/');
c) Create from reflection:
use gossi\docblock\Docblock;
$docblock = new Docblock(new \ReflectionClass('MyClass'));
Get the tags:
$tags = $docblock->getTags();
Get tags by name:
$tags = $docblock->getTags('author');
Append a tag:
use gossi\docblock\tags\AuthorTag;
$author = new AuthorTag();
$author->setName('gossi');
$docblock->appendTag($author);
or with fluent API:
use gossi\docblock\tags\AuthorTag;
$docblock->appendTag(AuthorTag::create()
->setName('gossi')
);
Check tag existence:
$docblock->hasTag('author');
Call toString()
:
$docblock->toString();
or if you are in a write-context, the magical __toString()
will take care of it:
echo $docblock;
Feel free to fork and submit a pull request (don't forget the tests) and I am happy to merge.
- This project uses the parsers from phpDocumentor/ReflectionDocBlock
Version 1.2 - November, 4th 2014
- Renamed
DocBlock
toDocblock
- Added License Tag
- Added Link Tag
Version 1.1 - May, 28th 2014
- Added tag sorting for DocBlock::toString();
Version 1.0.1 - May, 28th 2014
- Don't wordwrap long lines anymore. Fixing fluent interface for AbstractTag::setDescription();
Version 1.0 - May, 28th 2014
- Initial release