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.
Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/6.0.2...6.0.3
Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.6.6...5.6.7
Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/6.0.1...6.0.2
StandardTagFactory by @mspirkov in https://github.com/phpDocumentor/ReflectionDocBlock/pull/438Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/6.0.0...6.0.1
Consult the docs for help with upgrading: https://docs.phpdoc.org/components/reflection-docblock/guides/upgrade-to-v6.html#upgrade-guide-to-v6
phpdocumentor/type-resolver from 2.x-dev to 2.0 by @mspirkov in https://github.com/phpDocumentor/ReflectionDocBlock/pull/433Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.6.6...6.0.0
Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.6.5...5.6.6
Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.6.4...5.6.5
Fix deprecation on php 8.5
Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.6.3...5.6.4
Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.6.2...5.6.3
Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.6.1...5.6.2
Thanks to @Furgas for reporting this issue in #393
Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.6.0...5.6.1
Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.5.1...5.6.0
Fixes regression introduced in 5.5.0 that triggered notices during parsing of docblocks. When the docblock contained indented lines.
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.
Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.4.1...5.5.0
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
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.
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.
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.
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.
ramsey/composer-install by @jrfnl in https://github.com/phpDocumentor/ReflectionDocBlock/pull/321Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.3.0...5.4.0
[@covers](https://github.com/covers) tag by @jrfnl in https://github.com/phpDocumentor/ReflectionDocBlock/pull/286autoload-dev directive by @jrfnl in https://github.com/phpDocumentor/ReflectionDocBlock/pull/289Full Changelog: https://github.com/phpDocumentor/ReflectionDocBlock/compare/5.2.2...5.3.0
[@method](https://github.com/method) names, #203 thanks to @danrot and @rvanvelzennull in standard tag factory, thanks to @jaapioThis 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.
InvalidTag, thanks to @jaapioThis 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.
InvalidTag tag. #198, thanks to @jaapioThis 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.
example tag #181, thanks to @mvrielThis 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.
example tag #181, thanks to @mvriel0 for body of generic tag description #166, #1670 for body of generic tag description #166, #167How can I help you explore Laravel packages today?