phpdocumentor/reflection-docblock

With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.

Package info

github.com/phpDocumentor/ReflectionDocBlock

pkg:composer/phpdocumentor/reflection-docblock

Statistics

Installs: 747 037 894

Dependents: 1 273

Suggesters: 29

Stars: 9 385

Open Issues: 18

6.0.3 2026-03-18 20:49 UTC

Requires

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 7bae67520aa9f5ecc506d646810bd40d9da54582

  • Mike van Riel <me.woop@mikevanriel.com>
  • Jaap van Otterdijk <opensource.woop@ijaap.nl>

This package is auto-updated.

Last update: 2026-05-18 21:26:55 UTC


README

👁 License: MIT
👁 Integrate
👁 Scrutinizer Code Coverage
👁 Scrutinizer Code Quality
👁 Stable Version
👁 Unstable Version

ReflectionDocBlock

Introduction

The ReflectionDocBlock component of phpDocumentor provides a DocBlock parser that is 100% compatible with the PHPDoc standard.

With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.

Installation

composer require phpdocumentor/reflection-docblock

Usage

In order to parse the DocBlock one needs a DocBlockFactory that can be instantiated using its createInstance factory method like this:

$factory = \phpDocumentor\Reflection\DocBlockFactory::createInstance();

Then we can use the create method of the factory to interpret the DocBlock. Please note that it is also possible to provide a class that has the getDocComment() method, such as an object of type ReflectionClass, the create method will read that if it exists.

$docComment = <<<DOCCOMMENT
/**
 * This is an example of a summary.
 *
 * This is a Description. A Summary and Description are separated by either
 * two subsequent newlines (thus a whiteline in between as can be seen in this
 * example), or when the Summary ends with a dot (`.`) and some form of
 * whitespace.
 */
DOCCOMMENT;

$docblock = $factory->create($docComment);

The create method will yield an object of type \phpDocumentor\Reflection\DocBlock whose methods can be queried:

// Contains the summary for this DocBlock
$summary = $docblock->getSummary();

// Contains \phpDocumentor\Reflection\DocBlock\Description object
$description = $docblock->getDescription();

// You can either cast it to string
$description = (string) $docblock->getDescription();

// Or use the render method to get a string representation of the Description.
$description = $docblock->getDescription()->render();

For more examples it would be best to review the scripts in the /docs/examples folder.