Skip to content

Releases: thephpleague/container

3.0.0

23 Jul 11:55
Compare
Choose a tag to compare

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

10 May 09:27
Compare
Choose a tag to compare

Fixed

  • Ensures ReflectionContainer converts class name in array callable to object.

2.4.0

06 Mar 15:27
Compare
Choose a tag to compare

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

06 Mar 15:41
Compare
Choose a tag to compare

Added

  • Now implementation of the PSR-11.

2.2.0

17 Mar 16:29
Compare
Choose a tag to compare

Changed

  • Service providers can now be added multiple times by giving them a signature.

2.1.0

15 Mar 08:20
Compare
Choose a tag to compare

Added

  • Allow resolving of RawArgument objects as first class dependencies.

Changed

  • Unnecessary recursion removed from Container::get.

2.0.3

07 Sep 10:17
Compare
Choose a tag to compare

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

03 Sep 10:34
Compare
Choose a tag to compare

Fixed

  • Bug introduced in 2.0.1 where shared definitions registered via a service provider would never be returned as shared.

2.0.1

02 Sep 20:52
Compare
Choose a tag to compare

Fixed

  • Bug where shared definitions were not stored as shared.

2.0.0

02 Sep 18:49
Compare
Choose a tag to compare

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 replaces singleton 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 to ReflectionContainer::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.