Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Phpdoc Parser Laravel Package

phpstan/phpdoc-parser

PHPDoc Parser for PHPStan that parses, represents, and modifies PHPDoc blocks as an AST. Supports rich type syntax (unions, generics, shapes, callables, conditional types), constant expressions, and Doctrine annotations, with full API reference for nodes.

View on GitHub
Deep Wiki
Context7
2.3.2
  • a004701 - Add CLAUDE.md to .gitattributes
  • 5bd6dc9 - Rename CLAUDE.MD to CLAUDE.md
2.3.1
  • 16dbf99 - __set_state for Comment
  • bbf4f8d - More tests
  • afd1aa5 - Implement __set_state() for all AST node classes
  • fc79f19 - Test about PhpDocNode exporting to file
  • 972c2c4 - Update CLAUDE.MD with comprehensive project documentation
  • b22787a - Add CLAUDE.MD with testing and quality check instructions
  • bd6f207 - Fix CS
2.3.0
2.2.0
  • b9e61a6 - Add support for [@psalm-inheritors](https://github.com/psalm-inheritors) and [@phpstan-sealed](https://github.com/phpstan-sealed) tag
  • 233238c - Open 2.2.x
  • 9475dab - Prepare 2.2.x
  • 0a8e718 - Update metcalfc/changelog-generator action to v4.6.2
  • 3779903 - Update metcalfc/changelog-generator action to v4.5.0
2.1.0
  • 9b30d6f - TypeParser - support comments at EOL with //
  • 12c4e9f - Merge remote-tracking branch 'origin/2.0.x' into 2.1.x
  • dc7c469 - PrinterTest - nowdoc helper for nicer formatting
  • 19d74a8 - Open 2.1.x
2.0.2
  • 51087f8 - Allow multiple new lines in union and intersection definition
  • 5404716 - Prepare 2.1.x
  • 19ecfcb - Send PR to 2.1.x
2.0.1
  • 72e51f7 - TypeParser: Allow multiple newlines and also allow multiline union and intersection types for array shapes
  • 81de606 - Update LICENSE
  • 7adaab7 - Test inline [@link](https://github.com/link)
  • 04c8de0 - Slevomat CS merged PR about 2.0
2.0.0

phpstan/phpdoc-parser 2.0 is here! 🎉

This release brings API cleanup and enables new features for everyone that were previously hidden behind opt-in feature toggles, like:

  • Parsing Doctrine annotations
  • Type aliases with invalid types being preserved
  • Text between tags always belongs to description
  • ...and more...

See the UPGRADING guide for details.

phpstan/phpdoc-parser 2.0 will also be included in PHPStan 2.0 that's going to be released on Monday November 11th 2024.

1.33.0
  • 82a311f - Support for non-empty-array and non-empty-list array shape kind
1.32.0
  • 6ca22b1 - Support for [@pure-unless-callable-is-impure](https://github.com/pure-unless-callable-is-impure)
1.31.0
  • 249f15f - PhpDocParser: support template type lower bounds
  • a5e938b - Test for special multiline PHPDoc
  • 5d48fa4 - Do not deploy API reference on 1.23.x anymore
  • 1c7fcc4 - Add test cases for quote aware array/object keys
  • 7e92a25 - Fix link
1.30.1
  • 51b95ec - Deploy API Reference into a subdirectory with the current branch name
  • 0e689c5 - Fix bug of repeating last line in AST for textBetweenTagsBelongsToDescription=true
  • 9d053a8 - Test newer PHP versions
  • 0454892 - Pin build-cs
1.30.0
  • 5ceb0e3 - Support typing extra items in unsealed array shapes
  • cc2b26c - Send update PR to phpstan-src 1.12.x branch
  • 8752839 - Fix $matches error
  • 2afec65 - Update roave/backward-compatibility-check
1.29.1
  • fcaefac - TemplateTagValueNode name cannot be empty string
1.29.0
  • 536889f - Support array and offset access on const types
  • 9bb3855 - Update lock-closed-issues.yml
  • 54b191f - Test pure-callable and pure-Closure
  • 793d146 - Update phpdoc-parser in phpstan-src:1.11.x
1.28.0
  • cd06d6b - Add [@phan-](https://github.com/phan-) prefixes for recognized doc tags
1.27.0
  • 86e4d5a - Support for [@param-closure-this](https://github.com/param-closure-this)
  • 8ce0d65 - Support for [@param-immediately-invoked-callable](https://github.com/param-immediately-invoked-callable) and [@param-later-invoked-callable](https://github.com/param-later-invoked-callable)
1.26.0
  • 231e318 - Improve static keyword conflict resolution in [@method](https://github.com/method)
  • c23674d - Parse generic callables
  • e7f0d8f - Update metcalfc/changelog-generator action to v4.3.1
  • 6301a43 - Update github-actions
1.25.0
  • bd84b62 - Added support for [@phpstan-require-extends](https://github.com/phpstan-require-extends) and [@phpstan-require-implements](https://github.com/phpstan-require-implements) PHPDoc tags
  • 77db537 - Update apiref.yml
  • f6c9b60 - Revert "Update apiref.yml"
  • 23d5464 - Update apiref.yml
1.24.5
  • fedf211 - Fix
  • cb802d0 - Update Slevomat CS for testing
  • c7a1da4 - Fix format-preserving printer for GenericTagValueNode without description
  • fb19066 - Fix
1.24.4
  • 6bd0c26 - Git export-ignore phpstan-baseline.neon
  • 58cdc73 - Update metcalfc/changelog-generator action to v4.2.0
  • 37d7684 - Update dessant/lock-threads action to v5
1.24.3
  • 12f01d2 - fix HTML description detection for phpstorm stubs
  • c2b8bbf - Different site ID for Fathom
  • 0bb2fe4 - Tests for comment-like descriptions
1.24.2
  • bcad8d9 - Allow conditional type in callable return type
1.24.1
  • 9f854d2 - fix/unify callable template parsing with EOL
  • 877b8f2 - simplify/unify parseGeneric method
  • 8202c44 - Make the CI job pass after upgrading PHPStan to v1.10.34
  • 36db47a - Update actions/checkout action to v4
1.24.0
  • 3510b0a - Allow asserting the type of $this
  • e540adc - Avoid creating an Exception when it is not necessary.
  • 5cd06e2 - Check out how this text gets parsed
1.23.1
1.23.0
  • a2b2413 - Fix missing newline
  • fa45101 - One more test
  • e64b193 - Fix trailing newlines in PHPDocs with textBetweenTagsBelongsToDescription=true
  • c44a8e5 - More tests
  • 5164f16 - New option to attach text between tags as description to the tag above
  • f9311f0 - Small refactoring
  • 395b6db - Document what parseText is doing
  • a113f0c - Merge branch refs/heads/1.22.x into 1.23.x
  • ebf9e48 - Update merge-maintained-branch.yml
  • 1c9f853 - Open 1.23.x-dev
  • 2108d70 - Update actions/upload-pages-artifact action to v2
1.22.1
  • 65c3959 - Format-preserving printer - use original detected newline
  • c001601 - Fix newline separator in description
  • 522c7e2 - TokenIterator - detect newline
  • ccca1bd - Skip FuzzyTest on Windows
  • 2542ebb - Windows build
  • d2c85f3 - Test updated Slevomat CS
  • d7b38ea - Merge branch refs/heads/1.21.x into 1.22.x
  • 35bfc80 - Regression test about GenericTagValueNode that starts at next line
  • 0666db5 - Update Slevomat CS to test
1.22.0
  • ec58baf - Multiple Doctrine tags on a single line
  • 4aa86cc - More Doctrine tests
  • 97abd8a - Update README
  • af8f94b - Fix Printer
  • a61e41d - Fix enrichWithAttributes
  • d789c95 - Test Doctrine node attributes
  • 886f662 - Experimental: Parse Doctrine annotations
  • ffc6510 - TokenIterator - allow skipping TOKEN_PHPDOC_EOL anywhere for Doctrine annotations
  • 492f9b8 - Add general "+" sign support for integer/float numbers
  • 8e75539 - Add "+" sign support for float exponent
  • 362bc12 - Merge branch refs/heads/1.21.x into 1.22.x
  • e5c48b4 - Merge branch refs/heads/1.21.x into 1.22.x
  • 150f854 - Open 1.22.x
1.21.3
  • b0c366d - Fix token indexes in TypeAliasImportTagValueNode
  • 5f901f0 - More tests
  • 912d284 - Merge maintained branch workflow
  • 740f031 - Prepare for 1.22.x
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport