Releases: thephpleague/container
Releases · thephpleague/container
3.0.0
3.0.0
Added
- Service providers can now be pulled from the container if they are registered.
- Definition logic now handled by aggregate for better separation.
- Now able to add tags to a definition to return an array of items containing that tag.
Changed
- Updated minimum PHP requirements to 7.0.
- Now depend directly on PSR-11 interfaces, including providing PSR-11 exceptions.
- Refactored inflector logic to accept type on construction and use generator to iterate.
- Refactored service provider logic with better separation and performance.
- Merged service provider signature logic in to one interface and abstract.
- Heavily simplified definition logic providing more control to user.
2.4.1
Fixed
- Ensures
ReflectionContainer
converts class name in array callable to object.
2.4.0
Changed
- Can now wrap shared objects as
RawArgument
. - Ability to override shared items.
Fixed
- Booleans now recognised as accepted values.
- Various docblock fixes.
- Unused imports removed.
- Unreachable arguments no longer passed.
2.3.0
Added
- Now implementation of the PSR-11.
2.2.0
Changed
- Service providers can now be added multiple times by giving them a signature.
2.1.0
Added
- Allow resolving of
RawArgument
objects as first class dependencies.
Changed
- Unnecessary recursion removed from
Container::get
.
2.0.3
Fixed
- Bug where delegating container was not passed to delegate when needed.
- Bug where
Container::extend
would not return a shared definition to extend.
2.0.2
Fixed
- Bug introduced in 2.0.1 where shared definitions registered via a service provider would never be returned as shared.
2.0.1
Fixed
- Bug where shared definitions were not stored as shared.
2.0.0
Added
- Now implementation of the container-interop project.
BootableServiceProviderInterface
for eagerly loaded service providers.- Delegate container functionality.
RawArgument
to ensure scalars are not resolved from the container but seen as an argument.
Altered
- Refactor of definition functionality.
Container::share
replacessingleton
functionality to improve understanding.- Auto wiring is now disabled by default.
- Auto wiring abstracted to be a delegate container
ReflectionContainer
handling all reflection based functionality. - Inflection functionality abstracted to an aggregate.
- Service provider functionality abstracted to an aggregate.
- Much bloat removed.
Container::call
now proxies toReflectionContainer::call
and handles argument resolution in a much more efficient way.
Removed
- Ability to register invokables, this functionality added a layer of complexity too large for the problem it solved.
- Container no longer accepts a configuration array, this functionality will now be provided by an external service provider package.