I apologize if my answer didn't provide clearer cases where this solution
that seems to be the simplest one is just not working:

- If I have a small project where I use slim framework and guzzle http
client, both having implementation of PSR-7, I should be allowed to upgrade
each one to another major version with no impact on the other.
If the project is bigger, you might find more than two implementations,
including PSR-17 factories that also implements PSR-7.

- Another example would be the case of PSR-11, the container
interoperability interface and actually all interop related PSR that by
design are meant to allow projects with more than one implementation at
runtime.

There are problems that could require a more complex solution, but still
the simplest that would work.
I believe namespaced interfaces would be needed here.

Alex


On Thu, Sep 19, 2019 at 7:40 AM Adrien Crivelli <adrien.crive...@gmail.com>
wrote:

>
> On Wednesday, 18 September 2019 17:17:29 UTC-7, Edward Almasy wrote:
>>
>> On Sep 18, 2019, at 2:07pm, Cees-Jan Kiewiet <cees...@gmail.com> wrote:
>>
>> From a consumers perspective the namespaced revisions sounds like hell to
>> me to be honest. As a consumer I care about the highlevel
>> Psr\Log\LoggerInterface interface, not whether it's rev1, 2, or 35. To me
>> the packages for each PSR should be handled like any other PHP package and
>> receive major new versions introduction updates/maintenance for that
>> package. And as a consequence only one version of a PSR should be active,
>> like PSR-12 supersedes PSR-2 or PSR-4 supersedes PSR-0. This means that
>> consumers should always be moving forward, but at their own pace.
>>
>>
>> I'd like to second this sentiment.  Simplicity promotes clarity and
>> adoption
>>
>
> Me too, find that using the de-facto standard of managing dependencies and
> their breaking version is the simplest and best way to approach this.
>
> If your lib inherit from a PSR interface, then you cannot support both PSR
> major versions at once, but you can, and should, release a new major of
> your lib with the support of latest PSR version. This is how it is done for
> pretty much everything else since composer came to be. I don't see why it
> could not be applied to PSR too.
>
> Please, Keep It Stupid Simple.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "PHP Framework Interoperability Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to php-fig+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/php-fig/0e8c8755-e554-429b-bf45-639d57d97574%40googlegroups.com
> <https://groups.google.com/d/msgid/php-fig/0e8c8755-e554-429b-bf45-639d57d97574%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups "PHP 
Framework Interoperability Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to php-fig+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/php-fig/CAAwdEzDCm7Dj3ucj1CKE9OkgQdQ8p-Y-9sT_41dSUr0niBDJ%3DA%40mail.gmail.com.
    • Re: [BYL... Stefano Torresi
      • Re: ... Korvin Szanto
      • Re: ... Alessandro Lai
        • ... Alessandro Lai
          • ... Stefano Torresi
            • ... Cees-Jan Kiewiet
              • ... Alessandro Lai
              • ... Alexandru Pătrănescu
              • ... 'Edward Almasy' via PHP Framework Interoperability Group
              • ... Adrien Crivelli
              • ... Alexandru Pătrănescu
              • ... 'Alexander Makarow' via PHP Framework Interoperability Group
              • ... Alexandru Pătrănescu
              • ... Alessandro Lai
              • ... Adrien Crivelli
              • ... Alessandro Lai
              • ... Alexandru Pătrănescu
  • Re: [BYLAW] P... G. P. B.

Reply via email to