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.

Reply via email to