forked from a64f7bb4-7358-4778-9fbe-3b882c34cc1d/v1
125 lines
2.8 KiB
Markdown
125 lines
2.8 KiB
Markdown
# Docblock
|
|
|
|
[](https://packagist.org/packages/phpowermove/docblock)
|
|
[](https://packagist.org/packages/phpowermove/docblock)
|
|
[](https://packagist.org/packages/phpowermove/docblock)
|
|

|
|

|
|
[](https://scrutinizer-ci.com/g/phpowermove/docblock/?branch=master)
|
|
[](https://scrutinizer-ci.com/g/phpowermove/docblock/?branch=master)
|
|
|
|
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](https://github.com/phpowermove) and the namespace is `phpowermove\docblock`.
|
|
|
|
## Installation
|
|
|
|
Install via Composer:
|
|
|
|
```
|
|
composer require phpowermove/docblock
|
|
```
|
|
|
|
## Usage
|
|
|
|
### 1. Generate a Docblock instance
|
|
|
|
a) Simple:
|
|
|
|
```php
|
|
use phpowermove\docblock\Docblock;
|
|
|
|
$docblock = new Docblock();
|
|
```
|
|
|
|
b) Create from string:
|
|
|
|
```php
|
|
use phpowermove\docblock\Docblock;
|
|
|
|
$docblock = new Docblock('/**
|
|
* Short Description.
|
|
*
|
|
* Long Description.
|
|
*
|
|
* @author gossi
|
|
*/');
|
|
```
|
|
|
|
c) Create from reflection:
|
|
|
|
```php
|
|
use phpowermove\docblock\Docblock;
|
|
|
|
$docblock = new Docblock(new \ReflectionClass('MyClass'));
|
|
```
|
|
|
|
### 2. Manipulate tags
|
|
|
|
Get the tags:
|
|
|
|
```php
|
|
$tags = $docblock->getTags();
|
|
```
|
|
|
|
Get tags by name:
|
|
|
|
```php
|
|
$tags = $docblock->getTags('author');
|
|
```
|
|
|
|
Append a tag:
|
|
|
|
```php
|
|
use phpowermove\docblock\tags\AuthorTag;
|
|
|
|
$author = new AuthorTag();
|
|
$author->setName('gossi');
|
|
$docblock->appendTag($author);
|
|
```
|
|
|
|
or with fluent API:
|
|
|
|
```php
|
|
use phpowermove\docblock\tags\AuthorTag;
|
|
|
|
$docblock->appendTag(AuthorTag::create()
|
|
->setName('gossi')
|
|
);
|
|
```
|
|
|
|
Check tag existence:
|
|
|
|
```php
|
|
$docblock->hasTag('author');
|
|
```
|
|
|
|
### 3. Get back the string
|
|
|
|
Call `toString()`:
|
|
|
|
```php
|
|
$docblock->toString();
|
|
```
|
|
|
|
or if you are in a write-context, the magical `__toString()` will take care of it:
|
|
|
|
```php
|
|
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](https://github.com/phpDocumentor/ReflectionDocBlock)
|
|
|
|
## Changelog
|
|
|
|
Refer to [Releases](https://github.com/phpowermove/docblock/releases) |