PHP Docblock parser and generator. An API to read and write Docblocks.
WARNING: starting from version 4.0 the library has moved to phpowermove organization and the namespace is
phpowermove\docblock
.
Install via Composer:
composer require phpowermove/docblock
a) Simple:
use phpowermove\docblock\Docblock;
$docblock = new Docblock();
b) Create from string:
use phpowermove\docblock\Docblock;
$docblock = new Docblock('/**
* Short Description.
*
* Long Description.
*
* @author gossi
*/');
c) Create from reflection:
use phpowermove\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 phpowermove\docblock\tags\AuthorTag;
$author = new AuthorTag();
$author->setName('gossi');
$docblock->appendTag($author);
or with fluent API:
use phpowermove\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;
See https://phpowermove.github.io/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
Refer to Releases