Adds support of the PHPDoc standard DocBlock tags.
Read documentation pages for more information.
TypeLang PHPDoc Standard Tags is available as Composer repository and can be installed using the following command in a root of your project:
composer require type-lang/phpdoc-template-tagsAdds support for advanced template annotations.
-  
@templateโTypeLang\PHPDoc\Template\TemplateTagFactory -  
@template-covariantโTypeLang\PHPDoc\Template\TemplateCovariantTagFactory -  
@template-contravariantโTypeLang\PHPDoc\Template\TemplateContravariantTagFactory -  
@template-extends(or@extends) โTypeLang\PHPDoc\Template\TemplateExtendsTagFactory -  
@template-implements(or@implements) โTypeLang\PHPDoc\Template\TemplateImplementsTagFactory -  
@template-use(or@use) โTypeLang\PHPDoc\Template\TemplateUseTagFactory 
use TypeLang\PHPDoc\Parser;
use TypeLang\PHPDoc\Template;
use TypeLang\PHPDoc\Tag\Factory\TagFactory;
$tags = new TagFactory();
// Add support of template tags
$tags->register('template', new Template\TemplateTagFactory());
$tags->register('template-covariant', new Template\TemplateCovariantTagFactory());
$tags->register('template-contravariant', new Template\TemplateContravariantTagFactory());
$tags->register(['extends', 'template-extends'], new Template\TemplateExtendsTagFactory());
$tags->register(['implements', 'template-implements'], new Template\TemplateImplementsTagFactory());
$tags->register(['use', 'template-use'], new Template\TemplateUseTagFactory());
$docblock = (new Parser($tags))
    ->parse(<<<'PHPDOC'
        /**
         * @template T of object
         * @template-extends \Traversable<array-key, T>
         */
        PHPDOC);
var_dump($docblock);