Revert "Support for psr/container
v2"
#147
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reverts #127
As found in multiple downstream containers, the lack of a constraint on
psr/container:^1
led to upgrades that are completely incompatible withpsr/container:^2
signatures.The problem is that child classes have methods without a
: bool
return type declaration forContainerInterface#has(string $name): bool
, which means that a fatal error is raised, due to LSP compatibility checks performed by PHP.Practically, upgrading to
psr/container:^2
may really happen in a major version, possibly as an isolated dependency upgrade.While @boesing has worked hard in trying to implement a BC-compliant solution, the SAT solver of composer will find a way to upgrade to incompatible dependencies anyway, and inheritance is such a massive headache that we may really just want to get rid of it overall, rather than
Ref: laminas/laminas-hydrator#92
Ref: laminas/laminas-di#78
Ref: #146