It's important to reiterate that the implementation of whether services share or not is exactly that - an implementation detail. For me, this is not something that the spec should concern itself. I would love to see the existing container-interop standard considered more here too. The current standard has two methods - `get` and `has` - the rest are implementation details. While I understand that this is not enough for some, for me, this allows perfect interoperability, and this is why we are copying it as a "formal" PSR. As an example, I wanted to drop Zend\ServiceManager as the container into Slim, and because of the container-interop interface, and because they were compatible, it was a simple job.
Interoperability standards are not designed to make all implementations interchangeable in all cases. It's entirely possible that someone writes a PSR-11 compatible container that returns pre-configured services that get their config from a database that is specific to their needs, obviously this would not be able to be dropped into any other project anywhere. The idea is to allow the real people in userland to be able to replace a container implementation with another one WHERE COMPATIBLE. My above example using Slim is a perfect example of where this standard works. I understand that this is a lot of repetition of other people's points, but for me, it is worth repeating. Don't forget; I could write a PSR-3 compatible logger that had dependencies on all sorts of stuff within my project that would mean it can't be dropped into any other project. At a later date, I could replace that with any other PSR-3 logger, however, because that's how interop should work. G -- 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 [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/php-fig/0834a772-403c-458c-b1e4-c91797d3994f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
