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

Parser Reflection Laravel Package

goaop/parser-reflection

AST-based Reflection API for PHP: introspect classes, methods, and properties directly from source code without autoloading or executing anything. Built on nikic/php-parser and compatible with native Reflection classes—ideal for static analyzers, code generators, and IDE tooling.

View on GitHub
Deep Wiki
Context7
3.1.0

What's Changed

New Contributors

Full Changelog: https://github.com/goaop/parser-reflection/compare/3.0.1...3.1.0

2.1.2

This patch release fixes compatibility with PHP7.3 and PHP7.4 #103

Warning! Please, be aware that this repo is not maintained well and will be abandoned soon. Consider to upgrade your software to the Roave/BetterReflection library.

2.1.0

This minor release contains several fixes and improvements:

  • Added support for the ReflectionClassConstant #93, #97 (by @MaximilianKresse)
  • PHP7.4 ReflectionMethod->getClosure($object = null) compatibility #88 (by @ddinchev)
  • getNamespaceAliases() logic fix #96 (by @MaximilianKresse)
1.4.1

Small patch release for #89

1.3.0

This release enables usage of token positions during analysis in Go! AOP framework, see #78. Also contains improvements by @loren-osborn in #76

1.2.1

Patch version with small fixes:

  • Fixed the signature of ReflectionClass::newInstance to be compatible across all PHP versions, resolves #70
  • Fixed namespace names with leading slash, resolves #67

PHP version was also bumped to be >=5.6.0. Pay an attention if you use this library with outdated PHP versions.

1.2.0

This release contains a lot of fixes and improvements since 1.1.0:

  • Fixed ReflectionParameters with class constant as default value (#44)
  • [NodeResolver] allow parsing of scalar expressions (#47)
  • Fix NodeExpressionResolver to reflect system classes (#50)
  • Parse top level “define” statements in a root namespace (#46)
  • Add test-case scenario for resolving self: constants for parameters, #49
  • Change logic of collecting constants to have an ability to resolve self constants recursively
  • Enable 7.1 for code coverage collecting
  • Added tests for parameters in 5.6 and 7.0
  • Fixed isOptional() result for variadic parameters, they should be optional
  • Fixed bug with accessing default value for variadic optional parameters
  • Added support for the pow operator in PHP5.6
  • Fixed type handling for PHP7.0
  • Enable parsing of files with PHP7.0 classes
  • isAbstract() for methods in the interface should return true
  • Fix broken compatibility with 5.5
  • Added support for displaying return types in the ReflectionMethod->__toString()
  • Fixed typehint for the method
  • Allow to install latest version of nikic/php-parser
  • Fixed ReflectionProperty->isDefault() implementation
  • Fixed buggy self::class resolution for old versions of PHP
  • Add support for nullable types, related to the #12
  • Implement ReflectionFile->isStrictMode check for the strict_types, resolves #59

This release also provides support for parsing PHP7.1 files. However, ReflectionClassConstant and constants with modifiers are not supported yet.

1.1.0

Minor release, that contains several features and important bug-fixes:

  • Added root namespace normalization, resolves #39
  • Resolved all relative paths to be compatibe with original reflection filenames, resolves #31
  • Allow limiting number of files, that can be cached at any given moment
  • Added resizing of the cache size after changing the maximum limit, resolves #35
  • Added support for "self" and "parent" as method parameter type hint
  • Allow to use internal interfaces (e.g. "Traversable") as parameter types
  • Fixed a notice, when using ReflectionClass::hasConstant method
1.0.2

Patch release for #8

1.0.1

Patch release for fixing #5

1.0.0

This is first working version of ParserReflection :registered: library with almost compatible Reflection API. Enjoy!

1.0.0-alpha

First working version of ReflectionEngine with full emulation of original Reflection classes.

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.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor