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

Reflection Docblock Laravel Package

phpdocumentor/reflection-docblock

Parse and reflect PHPDoc DocBlocks with a factory-based API. Fully compatible with the PHPDoc standard, it extracts summaries, descriptions, and tags, enabling libraries to read documentation metadata and build annotation-like features from doc comments.

View on GitHub
Deep Wiki
Context7
5.6.7

What's Changed

Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.6.6...5.6.7

6.0.2

What's Changed

New Contributors

Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/6.0.1...6.0.2

6.0.1

What's Changed

New Contributors

Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/6.0.0...6.0.1

5.6.6
5.6.5

What's Changed

New Contributors

Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.6.4...5.6.5

5.6.4

What's Changed

Fix deprecation on php 8.5

Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.6.3...5.6.4

5.6.3

What's Changed

New Contributors

Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.6.2...5.6.3

5.6.1

What's Changed

Thanks to @Furgas for reporting this issue in #393

Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.6.0...5.6.1

5.6.0
5.5.1

Fixes regression introduced in 5.5.0 that triggered notices during parsing of docblocks. When the docblock contained indented lines.

5.5.0

What's Changed

Improved method tag parameter rendering, by now the method tag parameters are correctly rendered when transforming a docblock back to string.

New supported tags:

  • [@template](https://github.com/template)
  • [@template-covariant](https://github.com/template-covariant)
  • [@mixin](https://github.com/mixin)
  • [@implements](https://github.com/implements) & [@template-implements](https://github.com/template-implements)
  • [@extends](https://github.com/extends) & [@template-extends](https://github.com/template-extends)

The template tags do not support all functionality needed to have full generic support as this requires some extra work. But for many situations this will already add value.

related pr's:

New Contributors

Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.4.1...5.5.0

5.4.1

Address multiple bugs with long tag descriptions

In the previous release a regression was introduced regarding multiline tag descriptions. Part of the description was lost and the indenting wasn't reduced as we did before 5.4. If your application relies on docblock tags and uses the descriptions it is highly recommended to update immediately. And block version 5.4.0 from the allowed versions in your composer.json

   "conflict":
      "phpdocumentor/reflection-docblock": "5.4.0"

Thanks to https://github.com/phpDocumentor/ReflectionDocBlock/issues/365 by @szepeviktor and @IanDelMar

Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.4.0...5.4.1

5.4.0

More type support

Since the beginning of this package we have been working on our own parser. Mostly regular expressions spitting each part of a docblock and processing them separately in each tag. But since static analyzers became more popular it became a lot harder to cover all the new formats of types. In type-resolver 1.7 we already started using phpstan's parser to process types. And now in this release we also cover parts of the docblock parsing process with their parser. This will make it easier to keep up with all the new changes and allows us to support more complex type formats.

We do not support all types covered by phpstan. Generics are not fully supported on all notations, we will return an InvalidTag in those cases.

Deprecations

Param tag

We spend a lot of time to cover all the edge cases that we supported in docblocks for many years. However we also noticed that some notations do not really make sense. First notation added to the list is a [@param](https://github.com/param) tag without a variable.

[@param](https://github.com/param) MyType Here starts the description but $var is ommited

This notation is now deprecated, and support will be removed in the first release of v6.

Static factory interface

We introduced a new factory strategy to make it possible to have more complex factories for tags and keep the implementation simple. Due to this new system of creating tags we can now support external parser to cover the body of a tag to be handled. With this new system the older system of StaticFactories has become deprecated. And will be removed in v6.

Backward compatibility

We introduced all new functionality with backward compatibility in mind. There are no interface changes being made so consumers of the library will not notice anything from the internal changes. However since we introduced a large amount of new types you might notice issues depending on your implementation. Especially when your project reads the types provided by this library.

Other notable changes

New Contributors

Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.3.0...5.4.0

5.3.0

Added

Deprecated

  • Nothing

Fixed

Removed

  • Nothing

Security

  • Nothing

New Contributors

Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.2.2...5.3.0

5.2.2

Added

  • Nothing

Deprecated

  • Nothing

Fixed

  • Update Link.php #239, thanks to @Kasp42
  • Param: fix phpdoc with reference hint #253, thanks to @voku
  • Do not resolve types if it's not possible #254, thanks to @voku

Removed

  • Nothing

Security

  • Nothing
5.2.1

Added

  • Nothing

Deprecated

  • Nothing

Fixed

  • InvalidTag::flattenExceptionBacktrace() corrupts reference arguments #249, thanks to @nikic
  • Fix modified backtrace #250, thanks to @jaapio

Removed

  • Nothing

Security

  • Nothing
5.2.0

Added

Deprecated

  • Nothing

Fixed

  • Nothing

Removed

  • Nothing

Security

  • Nothing
5.1.0

Added

  • Improved psalm support, #212 thanks to @orklah
  • BC check, thanks to @jaapio

Deprecated

  • StaticMethod interface, #211 thanks to @orklah

Fixed

  • ensure 'args' exist in trace, #202 thanks to @drupol
  • don't rely on 'args' in trace, not available in 7.4, #205 thanks to @remicollet
  • Restore support for long [@method](https://github.com/method) names, #203 thanks to @danrot and @rvanvelzen

Removed

  • Nothing

Security

  • Nothing
5.0.0

Added

  • Support for tag specialization as described in PRS-5 using :, thanks to @jaapio

Deprecated

  • Nothing

Fixed

  • restore [ to be allowed as the first character of tag body, thanks to @jaapio

Removed

  • Nothing

Security

  • Nothing
5.0.0-beta

Added

  • Nothing

Deprecated

  • Nothing

Fixed

  • Fix invalid return of null in standard tag factory, thanks to @jaapio

Removed

  • Nothing

Security

  • Nothing
5.0.0-alpha9

This patch release contains a fix to enable serialization of the refelected docblocks. Before release 5.0.0-alpha8 it was possible to serialize the result of the docblock factory. With the introduction of the InvalidTag which contained an exception this option was broken. This new version restores the option to serialize the docblock result. Which is recommended to do when you need to process a lot of docblocks for caching purposes.

Added

  • Nothing

Deprecated

  • Nothing

Fixed

  • Fix serialization error on InvalidTag, thanks to @jaapio

Removed

  • Nothing

Security

  • Nothing
5.0.0-alpha8

This patch release contains a breaking change for libraries/applications collecting exceptions from reflected docblocks. The library will now create an InvalidTag type and adds that to the output. The InvalidTag object will contain full information about the tag that could not be processed and the triggered exception during the processing of the tag.

Added

  • InvalidTag tag. #198, thanks to @jaapio

Deprecated

  • Nothing

Fixed

  • Docblocks containing invalid / misused tags will now be processed, #198 thanks to @jaapio

Removed

  • Nothing

Security

  • Nothing
5.0.0-alpha7

This patch release fixes a BC break in the previous release of this series. Due to a change in the collection handling a different exception was thrown when a generic type hint was read. array<string, string> this library will not support the generics notation. We just made sure that we are behaving equally to what we did before.

Added

  • Nothing

Deprecated

  • Nothing

Fixed

  • Fixed invalid implementation on example tag #181, thanks to @mvriel
  • Fixed breaking change of different exception thrown with generics, #186
  • Travis build is back to green, thanks to @GrahamCampbell and @mvriel

Removed

  • Nothing

Security

  • Nothing
4.3.4

This patch release fixes a BC break in the previous release of this series. Due a change in the collection handling a different exception was thrown when a generic type hint was read. array<string, string> this library will not support the generics notation. We just made sure that we are behaving equally to what we did before.

Added

  • Nothing

Deprecated

  • Nothing

Fixed

  • Fixed invalid implementation on example tag #181, thanks to @mvriel
  • Fixed breaking change of different exception thrown with generics, #186
  • Travis build is back to green, thanks to @GrahamCampbell and @mvriel

Removed

  • Nothing

Security

  • Nothing
5.0.0-alpha6

Added

  • Nothing

Deprecated

  • Nothing

Fixed

Removed

  • Nothing

Security

  • Nothing
4.3.3

Added

  • Nothing

Deprecated

  • Nothing

Fixed

Removed

  • Nothing

Security

  • Nothing
4.3.2

Added

Deprecated

  • Nothing

Fixed

  • Nothing

Removed

  • Nothing

Security

  • Nothing
5.0.0-alpha5

Added

  • Nothing

Deprecated

  • Nothing

Fixed

  • Prevent invalid bodies for tags to break the whole parsing process. They are now silently ignored

Removed

  • Nothing

Security

  • Nothing
5.0.0-alpha4

Added

  • Nothing

Deprecated

  • Nothing

Fixed

  • Allow 0 for body of generic tag description #166, #167

Removed

  • Nothing

Security

  • Nothing
4.3.1

Added

  • Nothing

Deprecated

  • Nothing

Fixed

  • Allow 0 for body of generic tag description #166, #167

Removed

  • Nothing

Security

  • Nothing
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