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

Laminas Servicemanager Laravel Package

laminas/laminas-servicemanager

Powerful dependency injection and service container for PHP. Manage factories, abstract factories, delegators, aliases, and shared services, with PSR-11 interoperability and robust configuration for complex applications.

View on GitHub
Deep Wiki
Context7
4.5.0

Release Notes for 4.5.0

Feature release (minor)

4.5.0

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Dependencies,Enhancement

3.24.0

Release Notes for 3.24.0

Feature release (minor)

3.24.0

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Dependencies,Enhancement

3.23.1

Release Notes for 3.23.1

3.23.x bugfix release (patch)

3.23.1

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Bug

3.22.2

Release Notes for 3.22.2

3.22.x bugfix release (patch)

3.22.2

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Bug

3.21.1

Release Notes for 3.21.1

3.21.1

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Bug

4.4.0

Release Notes for 4.4.0

Feature release (minor)

4.4.0

  • Total issues resolved: 0
  • Total pull requests resolved: 3
  • Total contributors: 2

Dependencies,Enhancement,QA

Enhancement,QA,Review Needed

Review Needed,renovate

4.3.0

Release Notes for 4.3.0

Feature release (minor)

Introduces PHP 8.4 Support

4.3.0

  • Total issues resolved: 0
  • Total pull requests resolved: 5
  • Total contributors: 4

Enhancement

Documentation,Enhancement

renovate

3.23.0

Release Notes for 3.23.0

3.23.0

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Enhancement

4.2.1

Release Notes for 4.2.1

4.2.x bugfix release (patch)

4.2.1

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Documentation,Enhancement

4.2.0

Release Notes for 4.2.0

Feature release (minor)

4.2.0

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Enhancement

4.1.0

Release Notes for 4.1.0

Feature release (minor)

4.1.0

  • Total issues resolved: 1
  • Total pull requests resolved: 3
  • Total contributors: 2

Documentation

Documentation,Enhancement

4.0.2

Release Notes for 4.0.2

4.0.x bugfix release (patch)

4.0.2

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Bug,Documentation

4.0.1

Release Notes for 4.0.1

4.0.x bugfix release (patch)

4.0.1

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Bug,Documentation

4.0.0

Release Notes for 4.0.0

Release Notes for 4.0.0

laminas-servicemanager 4.0.0 is here and finally enables projects to consume psr/container v2.0.0 after 2 years along with several type-additions and plugin manager decoupling.

The migration guide is not written yet but will be at some point (once we added support for SM v4 to other components) later.

Added

  • Several native type-additions including property-, argument- and return-types and a lot more psalm types
  • ServiceManager#get, PluginManagerInterface#get and ServiceLocatorInterface#build now explicitly implement mixed as return-type to synchronize types with ContainerInterface#get
  • Support for psr/container v1.1 and v2.0
  • Ahead of Time factory creation for services explicitly using ReflectionBasedAbstractFactory via laminas-cli

Removed

  • Dropped support for PHP <8.1
  • Removed deprecated interfaces such as
    • Laminas\ServiceManager\AbstractFactoryInterface
    • Laminas\ServiceManager\FactoryInterface
    • Laminas\ServiceManager\InitializerInterface
    • Laminas\ServiceManager\DelegatorFactoryInterface
  • CLI commands which were exposed via vendor/bin are removed in favor of the laminas-cli integration. All CLI commands of v3.x are accessible via vendor/bin/laminas servicemanager:<v3.x command name> once laminas/laminas-cli is required in the projects dependencies
  • Removed deprecated ConfigInterface and Config-class since these files did not provide any validation logic and were just used to proxy the configuration array structure
  • Removed AbstractPluginManager#validate and AbstractPluginManager::$instanceOf property as in v3.x, implementing plugin managers were able to implicitly validate mixed. In case an implementing plugin manager is providing a single $instanceOf such as laminas-cache, there is a new class AbstractSingleInstancePluginManager available which requires the $instanceOf property to be configured

Breaking Changes

  • AbstractPluginManager does not extend ServiceManager anymore and instead uses an own ServiceManager instance under the hood to manage plugin manager related services which can be configured the same way as in v3.x
  • Dedicated CLI commands which were previously linked to vendor/bin are now integrated via laminas-cli and can be called via vendor/bin/laminas once laminas/laminas-cli is part of the projects requirements. Read more about how to consume these commands here.
  • AbstractPluginManager does not provide the validate-Method anymore and requires migration action such as:
    • extend AbstractSingleInstancePluginManager in case the plugin manager only provides instances of a specific interface- or class-string (please be aware that the $instanceOf property now requires native string property type)
    • implement validate method and verify whatever type has to be returned and/or just allow mixed as v3.x did when omitting $instanceOf property
  • Removed deprecated ConfigInterface and Config-class since these files did not provide any validation logic and were just used to proxy the configuration array structure
  • neither ServiceManager nor AbstractPluginManager do validate the provided configuration at runtime anymore. due to the psalm-types provided to ServiceManager#__construct, ServiceManager#configure, AbstractPluginManager#__construct and AbstractPluginManager#configure, the configuration schema is strictly typed and thus, a miss-configuration can be mitigated on static-analysis level prior actual runtime
  • AbstractPluginManager#get does not accept options anymore, in case an instance with options needs to be created, AbstractPluginManager#build has to be used

4.0.0

  • Total issues resolved: 7
  • Total pull requests resolved: 14
  • Total contributors: 6

Enhancement

BC Break,Enhancement

RFC

BC Break

renovate

Bug

4.0.0-rc3

Added

  • Several native type-additions including property-, argument- and return-types and a lot more psalm types
  • ServiceManager#get, PluginManagerInterface#get and ServiceLocatorInterface#build now explicitly implement mixed as return-type to synchronize types with ContainerInterface#get
  • Support for psr/container v1.1 and v2.0
  • Ahead of Time factory creation for services explicitly using ReflectionBasedAbstractFactory via laminas-cli

Removed

  • Dropped support for PHP <8.1
  • Removed deprecated interfaces such as
    • Laminas\ServiceManager\AbstractFactoryInterface
    • Laminas\ServiceManager\FactoryInterface
    • Laminas\ServiceManager\InitializerInterface
    • Laminas\ServiceManager\DelegatorFactoryInterface
  • CLI commands which were exposed via vendor/bin are removed in favor of the laminas-cli integration. All CLI commands of v3.x are accessible via vendor/bin/laminas servicemanager:<v3.x command name> once laminas/laminas-cli is required in the projects dependencies
  • Removed deprecated ConfigInterface and Config-class since these files did not provide any validation logic and were just used to proxy the configuration array structure
  • Removed AbstractPluginManager#validate and AbstractPluginManager::$instanceOf property as in v3.x, implementing plugin managers were able to implicitly validate mixed. In case an implementing plugin manager is providing a single $instanceOf such as laminas-cache, there is a new class AbstractSingleInstancePluginManager available which requires the $instanceOf property to be configured

Breaking Changes

  • AbstractPluginManager does not extend ServiceManager anymore and instead uses an own ServiceManager instance under the hood to manage plugin manager related services which can be configured the same way as in v3.x
  • Dedicated CLI commands which were previously linked to vendor/bin are now integrated via laminas-cli and can be called via vendor/bin/laminas once laminas/laminas-cli is part of the projects requirements. Read more about how to consume these commands here.
  • AbstractPluginManager does not provide the validate-Method anymore and requires migration action such as:
    • extend AbstractSingleInstancePluginManager in case the plugin manager only provides instances of a specific interface- or class-string (please be aware that the $instanceOf property now requires native string property type)
    • implement validate method and verify whatever type has to be returned and/or just allow mixed as v3.x did when omitting $instanceOf property
  • Removed deprecated ConfigInterface and Config-class since these files did not provide any validation logic and were just used to proxy the configuration array structure
  • neither ServiceManager nor AbstractPluginManager do validate the provided configuration at runtime anymore. due to the psalm-types provided to ServiceManager#__construct, ServiceManager#configure, AbstractPluginManager#__construct and AbstractPluginManager#configure, the configuration schema is strictly typed and thus, a miss-configuration can be mitigated on static-analysis level prior actual runtime

What's Changed

Full Changelog: https://github.com/laminas/laminas-servicemanager/compare/3.21.0...4.0.0-rc3

3.22.1

Release Notes for 3.22.1

3.22.x bugfix release (patch)

3.22.1

  • Total issues resolved: 1
  • Total pull requests resolved: 1
  • Total contributors: 1

Enhancement

3.22.0

Release Notes for 3.22.0

3.22.0

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Enhancement

4.0.0-rc2

Added

  • Several native type-additions including property-, argument- and return-types and a lot more psalm types
  • ServiceManager#get, PluginManagerInterface#get and ServiceLocatorInterface#build now explicitly implement mixed as return-type to synchronize types with ContainerInterface#get
  • Support for psr/container v1.1 and v2.0
  • Ahead of Time factory creation for services explicitly using ReflectionBasedAbstractFactory via laminas-cli

Removed

  • Dropped support for PHP <8.1
  • Removed deprecated interfaces such as
    • Laminas\ServiceManager\AbstractFactoryInterface
    • Laminas\ServiceManager\FactoryInterface
    • Laminas\ServiceManager\InitializerInterface
    • Laminas\ServiceManager\DelegatorFactoryInterface
  • CLI commands which were exposed via vendor/bin are removed in favor of the laminas-cli integration. All CLI commands of v3.x are accessible via vendor/bin/laminas servicemanager:<v3.x command name> once laminas/laminas-cli is required in the projects dependencies
  • Removed deprecated ConfigInterface and Config-class since these files did not provide any validation logic and were just used to proxy the configuration array structure
  • Removed AbstractPluginManager#validate and AbstractPluginManager::$instanceOf property as in v3.x, implementing plugin managers were able to implicitly validate mixed. In case an implementing plugin manager is providing a single $instanceOf such as laminas-cache, there is a new class AbstractSingleInstancePluginManager available which requires the $instanceOf property to be configured

Breaking Changes

  • AbstractPluginManager does not extend ServiceManager anymore and instead uses an own ServiceManager instance under the hood to manage plugin manager related services which can be configured the same way as in v3.x
  • Dedicated CLI commands which were previously linked to vendor/bin are now integrated via laminas-cli and can be called via vendor/bin/laminas once laminas/laminas-cli is part of the projects requirements. Read more about how to consume these commands here.
  • AbstractPluginManager does not provide the validate-Method anymore and requires migration action such as:
    • extend AbstractSingleInstancePluginManager in case the plugin manager only provides instances of a specific interface- or class-string (please be aware that the $instanceOf property now requires native string property type)
    • implement validate method and verify whatever type has to be returned and/or just allow mixed as v3.x did when omitting $instanceOf property
  • Removed deprecated ConfigInterface and Config-class since these files did not provide any validation logic and were just used to proxy the configuration array structure
  • neither ServiceManager nor AbstractPluginManager do validate the provided configuration at runtime anymore. due to the psalm-types provided to ServiceManager#__construct, ServiceManager#configure, AbstractPluginManager#__construct and AbstractPluginManager#configure, the configuration schema is strictly typed and thus, a miss-configuration can be mitigated on static-analysis level prior actual runtime

What's Changed

Full Changelog: https://github.com/laminas/laminas-servicemanager/compare/3.21.0...4.0.0-rc2

3.21.0

Release Notes for 3.21.0

Feature release (minor)

Added

  • Duplicated all psalm-types from ConfigInterface in ServiceManager. This provides forward compatibility with v4.0.0

Removed

  • Support for PHP <8.1 due to PHPUnit 10 upgrade

Changed

  • Marked ConfigInterface and Config as deprecated as they will be removed with v4.0.0

3.21.0

  • Total issues resolved: 0
  • Total pull requests resolved: 4
  • Total contributors: 2

Enhancement

4.0.0-rc1

Added

  • Several native type-additions including property-, argument- and return-types and a lot more psalm types
  • ServiceManager#get, PluginManagerInterface#get and ServiceLocatorInterface#build now explicitly implement mixed as return-type to synchronize types with ContainerInterface#get
  • Support for psr/container v1.1 and v2.0
  • Ahead of Time factory creation for services explicitly using ReflectionBasedAbstractFactory via laminas-cli

Removed

  • Dropped support for PHP <8.1
  • Removed deprecated interfaces such as
    • Laminas\ServiceManager\AbstractFactoryInterface
    • Laminas\ServiceManager\FactoryInterface
    • Laminas\ServiceManager\InitializerInterface
    • Laminas\ServiceManager\DelegatorFactoryInterface
  • CLI commands which were exposed via vendor/bin are removed in favor of the laminas-cli integration. All CLI commands of v3.x are accessible via vendor/bin/laminas servicemanager:<v3.x command name> once laminas/laminas-cli is required in the projects dependencies
  • Removed deprecated ConfigInterface and Config-class since these files did not provide any validation logic and were just used to proxy the configuration array structure
  • Removed AbstractPluginManager#validate and AbstractPluginManager::$instanceOf property as in v3.x, implementing plugin managers were able to implicitly validate mixed. In case an implementing plugin manager is providing a single $instanceOf such as laminas-cache, there is a new class AbstractSingleInstancePluginManager available which requires the $instanceOf property to be configured

Breaking Changes

  • AbstractPluginManager does not extend ServiceManager anymore and instead uses an own ServiceManager instance under the hood to manage plugin manager related services which can be configured the same way as in v3.x
  • Dedicated CLI commands which were previously linked to vendor/bin are now integrated via laminas-cli and can be called via vendor/bin/laminas once laminas/laminas-cli is part of the projects requirements. Read more about how to consume these commands here.
  • AbstractPluginManager does not provide the validate-Method anymore and requires migration action such as:
    • extend AbstractSingleInstancePluginManager in case the plugin manager only provides instances of a specific interface- or class-string (please be aware that the $instanceOf property now requires native string property type)
    • implement validate method and verify whatever type has to be returned and/or just allow mixed as v3.x did when omitting $instanceOf property
  • Removed deprecated ConfigInterface and Config-class since these files did not provide any validation logic and were just used to proxy the configuration array structure
  • neither ServiceManager nor AbstractPluginManager do validate the provided configuration at runtime anymore. due to the psalm-types provided to ServiceManager#__construct, ServiceManager#configure, AbstractPluginManager#__construct and AbstractPluginManager#configure, the configuration schema is strictly typed and thus, a miss-configuration can be mitigated on static-analysis level prior actual runtime

What's Changed

Full Changelog: https://github.com/laminas/laminas-servicemanager/compare/3.20.0...4.0.0-rc1

3.20.0

Release Notes for 3.20.0

Feature release (minor)

3.20.0

  • Total issues resolved: 0
  • Total pull requests resolved: 2
  • Total contributors: 2

renovate

Enhancement

3.19.0

Release Notes for 3.19.0

Feature release (minor)

3.19.0

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Enhancement

3.18.0

Release Notes for 3.18.0

Feature release (minor)

3.18.0

  • Total issues resolved: 0
  • Total pull requests resolved: 2
  • Total contributors: 2

Enhancement

3.17.0

Release Notes for 3.17.0

Feature release (minor)

3.17.0

  • Total issues resolved: 2
  • Total pull requests resolved: 2
  • Total contributors: 3

Enhancement

Documentation

3.16.0

Release Notes for 3.16.0

Feature release (minor)

3.16.0

  • Total issues resolved: 0
  • Total pull requests resolved: 2
  • Total contributors: 2

Enhancement

BC Break,Bug

3.15.1

Release Notes for 3.15.1

3.15.x bugfix release (patch)

3.15.1

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

BC Break,Bug

3.15.0

Release Notes for 3.15.0

Feature release (minor)

3.15.0

  • Total issues resolved: 0
  • Total pull requests resolved: 3
  • Total contributors: 3

Enhancement

renovate

3.14.0

Release Notes for 3.14.0

Feature release (minor)

3.14.0

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Enhancement

3.13.0

Release Notes for 3.13.0

Feature release (minor)

3.13.0

  • Total issues resolved: 1
  • Total pull requests resolved: 3
  • Total contributors: 3

Bug,Duplicate,Enhancement

Enhancement

3.12.0

Release Notes for 3.12.0

Feature release (minor)

3.12.0

  • Total issues resolved: 0
  • Total pull requests resolved: 3
  • Total contributors: 2

Bug

Documentation,Enhancement

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.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport
twbs/bootstrap4