Releases: olvlvl/composer-attribute-collector
v2.1.0
New Requirements
None
New features
-
#38 Attributes are now collected from interfaces and traits as well as classes. (@olvlvl)
-
#37 Parameter attributes are now collected. Use the method
findTargetParameters()
to find target parameters, and the methodfilterTargetParameters()
to filter target parameters according to a predicate. (@staabm @olvlvl) -
#39 The
InheritsAttributes
attribute can be used on classes that inherit their attributes from traits, properties, or methods, but don't use attributes themselves, and were previously ignored by the collection process. (@olvlvl)trait UrlTrait { #[UrlGetter] public function get_url(): string { return '/url'; } } #[InheritsAttributes] class InheritedAttributeSample { use UrlTrait; }
-
#44 The collector automatically scans
autoload
paths of the rootcomposer.json
for a zero-configuration experience. (@olvlvl)
Deprecated Features
None
Backward Incompatible Changes
None
Other Changes
#35 The collector runs as a command to avoid clashes between packages used by Composer and those used by the application, such as incompatible signatures between different versions of the PSR Logger. (@olvlvl)
Added use cases for incompatible signature, Symfony, and Laravel.
v2.0.2
v2.0.1
v2.0.0
New Requirements
None
New features
- The plugin now collects attributes on properties.
Attributes::findTargetProperties()
returns target properties, andfilterTargetProperties()
filters properties with a predicate.
Backward Incompatible Changes
- The paths defined by the
include
andexclude
directives are relative to thecomposer.json
file. The{vendor}
placeholder is replaced by the absolute path to the vendor directory.
Deprecated Features
- The
ignore-paths
directive has been replaced byexclude
.
Other Changes
- The plugin no longer use a file cache by default. To persist a cache between runs, set the environment variable
COMPOSER_ATTRIBUTE_COLLECTOR_USE_CACHE
to1
,yes
, ortrue
.
With caching
New Requirements
None
New features
- #11 Attribute instantiation errors are decorated to help find origin (@withinboredom @olvlvl)
- #12
Attributes::filterTargetClasses()
can filter target classes using a predicate (@olvlvl) - #12
Attributes::filterTargetMethods()
can filter target methods using a predicate.Attributes::predicateForAttributeInstanceOf()
can be used to create a predicate to filter classes or methods targeted by an attribute class or subclass (@olvlvl) - #10 3 types of cache speed up generation by limiting updates to changed files (@xepozz @olvlvl)
Backward Incompatible Changes
None
Deprecated Features
None
Other Changes
None