Package Documentation

  • 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 /examples folder.

Namespaces
\phpDocumentor\Reflection\DocBlock
\phpDocumentor\Reflection\Exception
\phpDocumentor\Reflection\PseudoTypes
\phpDocumentor\Reflection\Types
Classes
phpDocumentor\Reflection\DocBlock
phpDocumentor\Reflection\DocBlockFactory
phpDocumentor\Reflection\DocBlockFactoryInterface
phpDocumentor\Reflection\Element
phpDocumentor\Reflection\File
phpDocumentor\Reflection\Fqsen
phpDocumentor\Reflection\FqsenResolver
phpDocumentor\Reflection\Location
phpDocumentor\Reflection\Project
phpDocumentor\Reflection\ProjectFactory
phpDocumentor\Reflection\PseudoType
phpDocumentor\Reflection\Type
phpDocumentor\Reflection\TypeResolver
phpDocumentor\Reflection\Utils
© 2025 Bruce Wells
Search Namespaces \ Classes
Configuration