Object representing to description for a DocBlock.

A Description object can consist of plain text but can also include tags. A Description Formatter can then combine
a body template with sprintf-style placeholders together with formatted tags in order to reconstitute a complete
description text using the format that you would prefer.

Because parsing a Description text can be a verbose process this is handled by the {@see \DescriptionFactory}. It is
thus recommended to use that to create a Description object, like this:

$description = $descriptionFactory->create('This is a {@see \Description}', $context);

The description factory will interpret the given body and create a body template and list of tags from them, and pass
that onto the constructor if this class.

The $context variable is a class of type {@see \phpDocumentor\Reflection\Types\Context} and contains the namespace
and the namespace aliases that apply to this DocBlock. These are used by the Factory to resolve and expand partial
type names and FQSENs.

If you do not want to use the DescriptionFactory you can pass a body template and tag listing like this:

$description = new Description(
    'This is a %1$s',
    [ new See(new Fqsen('\phpDocumentor\Reflection\DocBlock\Description')) ]

It is generally recommended to use the Factory as that will also apply escaping rules, while the Description object
is mainly responsible for rendering.

  • see \DescriptionFactoryto create a new Description.
  • see \Description\Formatterfor the formatting of the body and tags.
public __construct(string $bodyTemplate, array $tags = [])

Initializes a Description with its body (template) and a listing of the tags used in the body template.

    public __toString() : string

    Returns a plain string representation of this description.

    public getBodyTemplate() : string

    Returns the body template.

    public getTags() : array

    Returns the tags for this DocBlock.

    public render(?phpDocumentor\Reflection\DocBlock\Tags\Formatter $formatter = NULL) : string

    Renders this description as a string where the provided formatter will format the tags in the expected string

    private $bodyTemplate
    • var string
    private $tags
    © 2020 Bruce Wells
    Search Namespaces \ Classes
    ConfigurationNumbers (0-9.) only