Phpdoc
🗃️ Library for recognizing PHPDoc Tags in PHP DocBlock comments
Install / Use
/learn @php-type-language/PhpdocREADME
<p align="center"> <a href="https://packagist.org/packages/type-lang/phpdoc"><img src="https://poser.pugx.org/type-lang/phpdoc/require/php?style=for-the-badge" alt="PHP 8.1+"></a> <a href="https://packagist.org/packages/type-lang/phpdoc"><img src="https://poser.pugx.org/type-lang/phpdoc/version?style=for-the-badge" alt="Latest Stable Version"></a> <a href="https://packagist.org/packages/type-lang/phpdoc"><img src="https://poser.pugx.org/type-lang/phpdoc/v/unstable?style=for-the-badge" alt="Latest Unstable Version"></a> <a href="https://raw.githubusercontent.com/php-type-language/phpdoc/blob/master/LICENSE"><img src="https://poser.pugx.org/type-lang/phpdoc/license?style=for-the-badge" alt="License MIT"></a> <a href="https://github.com/xepozz/meta-storm-idea-plugin"><img src="https://img.shields.io/static/v1?label=Powered+by&message=Meta+Storm&color=db5860&style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iMTExIiBoZWlnaHQ9IjExMSIgdmlld0JveD0iMCAwIDExMSAxMTEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYwLjQ2MTcgOEwzMC4xNjU0IDguMjQ3OUMyNy4yNDYgOC4yNzE3OSAyNC42NDggMTAuMTA1IDIzLjY0NyAxMi44NDc1TDAuNDMwNTkgNzYuODMxNEMtMS4yNDQ1OSA4MS40MjA4IDIuMTc4MDUgODYuMjcxMyA3LjA2MzUzIDg2LjIzMTNMMzIuMTE5NyA4Ni4wMjYzTDM1LjQxNDcgNzYuOTk5TDkuODczOTEgNzcuMjA4TDMxLjYyNTkgMTcuMjM2Mkw1Ny4xNjY2IDE3LjAyNzNMNjAuNDYxNyA4WiIgZmlsbD0iI0FGQjFCMyIvPjxwYXRoIGQ9Ik00OS40MTQ5IDEwMi45OTlMNzkuNzEyMiAxMDIuOTk5QzgyLjYzMTcgMTAyLjk5OSA4NS4yNDQ2IDEwMS4xODcgODYuMjY4IDk4LjQ1MjlMMTEwLjAxMyAzNC40NTI0QzExMS43MjYgMjkuODc2OCAxMDguMzQzIDI0Ljk5ODUgMTAzLjQ1NyAyNC45OTg1TDc4LjQwMDQgMjQuOTk4NUw3NS4wMzE2IDMzLjk5ODVMMTAwLjU3MyAzMy45OTg1TDc4LjMyNTMgOTMuOTk5TDUyLjc4MzcgOTMuOTk5TDQ5LjQxNDkgMTAyLjk5OVoiIGZpbGw9IiNBRkIxQjMiLz48cGF0aCBkPSJNMjIgNjFMODYgOEw1NyA1MEw4OS45OTk3IDQ5Ljk5OTdMMjYgMTAzTDU1IDYxSDIyWiIgZmlsbD0iI0M3NTQ1MCIvPjwvc3ZnPg==" alt="MetaStorm"></a> </p> <p align="center"> <a href="https://github.com/php-type-language/phpdoc/actions/workflows/tests.yml"><img src="https://img.shields.io/github/actions/workflow/status/php-type-language/phpdoc/tests.yml?label=Tests&style=flat-square&logo=unpkg"></a> <a href="https://github.com/php-type-language/phpdoc/actions/workflows/codestyle.yml"><img src="https://img.shields.io/github/actions/workflow/status/php-type-language/phpdoc/codestyle.yml?label=PER-2+CodeStyle&style=flat-square&logo=telegraph"></a> <a href="https://github.com/php-type-language/phpdoc/actions/workflows/static-analysis.yml"><img src="https://img.shields.io/github/actions/workflow/status/php-type-language/phpdoc/static-analysis.yml?label=PHPStan&style=flat-square&logo=data:image/png;base64,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"></a> </p>
Reference implementation for TypeLang PHPDoc Parser.
Read documentation pages for more information.
Installation
TypeLang PHPDoc Parser is available as Composer repository and can be installed using the following command in a root of your project:
composer require type-lang/phpdoc
Supported Tags
- [x]
@abstract- Declare any Element as abstract - [x]
@api- Highlight Element as being part of the public API - [ ]
@author- TODO - [x]
@category- Used to organize groups of packages together - [x]
@copyright- Used to document the copyright information of any Element. - [ ]
@deprecated- TODO - [ ]
@example- TODO - [x]
@extends- Allows to extend templated classes and interfaces - [ ]
@filesource- TODO - [x]
@final- Declare any Element as final - [ ]
@global- TODO - [x]
@ignore- Used to tell documentation systems that Element are not to be processed. - [x]
@implements- Allows to extend templated interfaces - [ ]
@inheritdoc- TODO - [x]
@inherits- An alias of@extendstag - [ ]
@internal- TODO - [x]
@license- Used to indicate which license is applicable - [x]
@link- Indicates a custom relation between the associated Element and a website, which is identified by an absolute URI - [x]
@method- Allows a class to know which "magic" methods are callable - [ ]
@mixin- TODO - [x]
@no-named-arguments- Indicates that argument names may be changed in the future. - [x]
@package- Used to categorize Element(s) into logical subdivisions - [x]
@override- Mention to see if the method is actually overriding a definition - [x]
@param- Used to document a single argument of a function or method - [ ]
@param-closure-this- TODO - [ ]
@param-immediately-invoked-callable- TODO - [ ]
@param-later-invoked-callable- TODO - [ ]
@param-out- TODO - [x]
@property- Used to declare which "magic" properties are supported - [x]
@property-read- Used to declare which "magic" properties are supported for reading - [x]
@property-write- Used to declare which "magic" properties are supported for writing - [ ]
@pure-unless-callable-is-impure- TODO - [ ]
@readonly- TODO - [ ]
@require-extends- TODO - [ ]
@require-implements- TODO - [x]
@return- Used to document the return value of functions or methods - [x]
@returns- An alias of@returntag - [ ]
@seal-methods- TODO - [ ]
@seal-properties- TODO - [x]
@see- Indicates a reference from the associated Symbol(s) to a website or other Symbol(s) - [ ]
@since- TODO - [ ]
@source- TODO - [x]
@subpackage- Used to categorize Element(s) into logical subdivisions - [ ]
@suppress- TODO - [x]
@template- Allows classes (and class-like entries), functions and methods to declare a generic type parameter - [x]
@template-contravariant- Allows classes (and class-like entries), functions and methods to declare a generic contravariant type parameter - [x]
@template-covariant- Allows classes (and class-like entries), functions and methods to declare a generic covariant type parameter - [x]
@template-extends- An alias of@extendstag - [x]
@template-implements- An alias of@implementstag - [x]
@template-use- Allows to extend templated traits - [x]
@throw- An alias of@throwstag - [x]
@throws- Used to indicate whether Element throw a specific type of\Throwable(exception or error) - [ ]
@todo- TODO - [ ]
@unused-param- TODO - [x]
@use- An alias of@template-usetag - [ ]
@used-by- TODO - [ ]
@uses- TODO - [x]
@var- Document the Type of the following Element - [ ]
@version- TODO
Psalm Tags
- [ ]
@psalm-allow-private-mutation- TODO - [x]
@psalm-api- Vendor-specific@apialias - [ ]
@psalm-assert- TODO - [ ]
@psalm-assert-if-false- TODO - [ ]
@psalm-assert-if-true- TODO - [ ]
@psalm-assert-untainted- TODO - [ ]
@psalm-check-type- TODO - [ ]
@psalm-check-type-exact- TODO - [ ]
@psalm-consistent-constructor- TODO - [ ]
@psalm-consistent-templates- TODO - [ ]
@psalm-external-mutation-free- TODO - [x]
@psalm-extends- Vendor-specific@extendsalias - [ ]
@psalm-flow- TODO - [ ]
@psalm-if-this-is- TODO - [ ]
@psalm-ignore-falsable-return- TODO - [ ]
@psalm-ignore-nullable-return- TODO - [ ]
@psalm-ignore-var- TODO - [ ]
@psalm-ignore-variable-method- TODO - [ ]
@psalm-ignore-variable-property- TODO - [ ]
@psalm-immutable- TODO - [x]
@psalm-implements- Vendor-specific@implementsalias - [ ]
@psalm-import-type- TODO - [ ]
@psalm-inheritors- TODO - [ ]
@psalm-internal- TODO - [x]
@psalm-method- Vendor-specific@methodalias - [ ]
@psalm-mutation-free- TODO - [ ]
@psalm-no-seal-methods- TODO
Related Skills
node-connect
339.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
