Name Last Update
..
.github/workflows Loading commit data...
.settings Loading commit data...
src Loading commit data...
tests Loading commit data...
.gitignore Loading commit data...
.php-cs-fixer.php Loading commit data...
.project Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
composer.json Loading commit data...
phpunit.xml.dist Loading commit data...
psalm.xml Loading commit data...
sami.php Loading commit data...

Docblock

License Latest Stable Version Total Downloads Tests Coverage report Scrutinizer Code Quality Code Coverage

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

Changelog

Refer to Releases