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

PSR-11 Support

container-interop/container-interop 1.2.0 modifies its codebase to extend interfaces from psr/container (the official interfaces for PSR-11). If you are on a pre-3.3.0 version of laminas-servicemanager, update your project, and receive container-interop 1.2, then laminas-servicemanager can already act as a PSR-11 provider!

laminas-servicemanager 3.3.0 requires at least version 1.2 of container-interop, and also requires psr/container 1.0 to explicitly signal that it is a PSR-11 provider, and to allow removal of the container-interop dependency later.

Version 4.0 will require only psr/container, and will update the various factory interfaces and exception implementations to typehint against the PSR-11 interfaces, which will require changes to any implementations you have. In the meantime, you can duck-type the following factory types:

  • Laminas\ServiceManager\Factory\FactoryInterface: use a callable with the following signature:

    function (
        \Psr\Container\ContainerInterface $container,
        string $requestedName,
        array $options = null
    )
    
  • Laminas\ServiceManager\Factory\DelegatorFactoryInterface: use a callable with the following signature:

    function (
        \Psr\Container\ContainerInterface $container,
        string $name,
        callable $callback,
        array $options = null
    )
    
  • Laminas\ServiceManager\Initializer\InitializerInterface: use a callable with the following signature:

    function (
        \Psr\Container\ContainerInterface $container,
        $instance
    )
    

Abstract factories can not be duck typed, due to the additional canCreate() method.

You can also leave your factories as-is for now, and update them once laminas-servicemanager v4.0 is released, at which time we will be providing tooling to help migrate your factories to PSR-11.

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
milesj/emojibase
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