phpowermove/docblock
Parse, create, and edit PHP DocBlocks with a simple API. Build Docblock instances from strings or reflection, read and filter tags, add tags via fluent helpers, and render back to formatted docblock text for code generation and tooling.
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.
Refer to Releases
How can I help you explore Laravel packages today?