docblock
docblock copied to clipboard
PHP DocBlock parser and generator. An API to read and write DocBlocks.
Docblock
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
.
Installation
Install via Composer:
composer require phpowermove/docblock
Usage
1. Generate a Docblock instance
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'));
2. Manipulate tags
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');
3. Get back the string
Call toString()
:
$docblock->toString();
or if you are in a write-context, the magical __toString()
will take care of it:
echo $docblock;
Documentation Api
See https://phpowermove.github.io/docblock
Contributing
Feel free to fork and submit a pull request (don't forget the tests) and I am happy to merge.
References
- This project uses the parsers from phpDocumentor/ReflectionDocBlock
Changelog
Refer to Releases