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( $bodyTemplate, array $tags = [])
Initializes a Description with its body (template) and a listing of the tags used in the body template.

    public __toString()
    Returns a plain string representation of this description.

    • return string
    public getTags()
    Returns the tags for this DocBlock.

    • return Tag[]
    public render(?phpDocumentor\Reflection\DocBlock\Tags\Formatter $formatter = NULL)
    Renders this description as a string where the provided formatter will format the tags in the expected string format.

    • return string
    private $bodyTemplate

    • var string
    private $tags

    • var Tag[]
    © 2020 Bruce Wells
    Search Namespaces \ Classes
    ConfigurationNumbers (0-9.) only