Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Docblock Laravel Package

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.

View on GitHub
Deep Wiki
Context7

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

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours