laminas/laminas-eventmanager

Replace container-interop with PSR-11 container interface

weierophinney opened this issue · 6 comments

This PR replaces use of the container-interop package with the PSR-11 container interface. This is obviously a BC break and would need to be released in EventManager 4.0 along with a migration guide.

This PR is being submitted in conjunction with a similar PR on the zend-framework/zend-servicemanager repository. Before merging and releasing the zend-servicemanager PR, this one should be merged and released with a new major version, and the zend-servicemanager should have its Composer dependencies updated to include version 4.0 of zend-eventmanager.


Originally posted by @michaelmoussa at zendframework/zend-eventmanager#52

@weierophinney rebased this one w/changes from latest develop. The migration guide in this repo is organized differently from what I already did in ServiceManager... where would you like this part documented?


Originally posted by @michaelmoussa at zendframework/zend-eventmanager#52 (comment)

Added a fix to the existing "Replace container-interop with PSR-11" commit for the failing tests.


Originally posted by @michaelmoussa at zendframework/zend-eventmanager#52 (comment)

what is the status here?

It would be nice to remove the

Package container-interop/container-interop is abandoned, you should avoid using it. Use psr/container instead.

message soon. :)

@SteffenAnders It's stalled, because it snowballs out to multiple repositories. I had a plan at one time, but several reviewers called out problems with it.

We'll get there eventually; I just don't know if we'll be able to do it in the stable releases, or have to wait for BC-breaking major releases.

I have just faced this problem with Lazy Listeners, because the project I am currently working uses PSR-11 container interface to inject dependencies.
Looking forward for this update

@weierophinney

It's stalled, because it snowballs out to multiple repositories. I had a plan at one time, but several reviewers called out problems with it.

We'll get there eventually; I just don't know if we'll be able to do it in the stable releases, or have to wait for BC-breaking major releases.

Can we discuss this on the next TSC meeting and find a solution for it? I was wondering myself why not go full BC break in a new major version and just remove it: Keep it simple and don't care about the current versions. I rather go with a new major release than leave this open for months or years even.