gossi / docblock
PHP Docblock parser and generator. An API to read and write Docblocks.
Installs: 391 260
Dependents: 11
Suggesters: 0
Security: 0
Stars: 19
Watchers: 2
Forks: 6
Open Issues: 0
Requires
- php: >=8.0
- phootwork/collection: ^3.0
- phootwork/lang: ^3.0
Requires (Dev)
- phootwork/php-cs-fixer-config: ^0.4
- phpunit/phpunit: ^9.0
- psalm/phar: ^4.3
README
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