Skip to content

PHP DocBlock parser and generator. An API to read and write DocBlocks.

License

Notifications You must be signed in to change notification settings

phpowermove/docblock

Repository files navigation

Docblock

DOI Build Status Scrutinizer Code Quality Code Coverage

PHP Docblock parser and generator. An API to read and write Docblocks.

Installation

Install via Composer:

{
	"require": {
		"gossi/docblock": "~1"
	}
}

And inject the Composer autoloader into your source code:

require_once 'path/to/vendor/autoload.php';

Usage

1. Generate a Docblock instance

a) Simple:

use gossi\docblock\Docblock;

$docblock = new Docblock();

b) Create from string:

use gossi\docblock\Docblock;

$docblock = new Docblock('/**
 * Short Description.
 *
 * Long Description.
 *
 * @author gossi
 */');

c) Create from reflection:

use gossi\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 gossi\docblock\tags\AuthorTag;

$author = new AuthorTag();
$author->setName('gossi');
$docblock->appendTag($author);

or with fluent API:

use gossi\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;

Contributing

Feel free to fork and submit a pull request (don't forget the tests) and I am happy to merge.

References

Changelog

Version 1.2 - November, 4th 2014

  • Renamed DocBlock to Docblock
  • Added License Tag
  • Added Link Tag

Version 1.1 - May, 28th 2014

  • Added tag sorting for DocBlock::toString();

Version 1.0.1 - May, 28th 2014

  • Don't wordwrap long lines anymore. Fixing fluent interface for AbstractTag::setDescription();

Version 1.0 - May, 28th 2014

  • Initial release

About

PHP DocBlock parser and generator. An API to read and write DocBlocks.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages