Hi David,

I agree with all the points but I think some are not the packages 
responsibility:

*Point 2:*

> The package should be able to declare that the service it provides is the 
default implementation for a given interface.

It is a bit unclear here. I think declaring which implementation of an 
interface is the default one should take place at the project level. 
Because every Psr-3 package can claim it is the default one.

So yes, a package should be able to declare it provides an implementation 
of LoggerInterface, but then there should be a mechanism controlled by the 
project developer to declare which one is the default one, in case many are 
installed.

*Point 6 use case 2:*

> If a package has requirements ... it should be able to publish those 
programmatically to the underlying framework.

Ok so requirements can be published and frameworks can notify me when they 
are missing. On the other hand, what if I have installed multiple packages 
which can fulfill those requirements? Obviously I don't want to use the 
default one every time. At the project level I should be able to choose 
which packages to use to fulfill another one requirements.

*Point 3:*

> The package can register a provided service as part of a "group" of 
services that share the same purpose.

I also think this is not the package responsibility. Because here packages 
should assume there is a common tag shared by all the packages of the same 
kind. Again it is at the project level I want to be able to group things 
together.


To sum this up I think there is a "gluing" aspect which is not the package 
responsibility.

I think this psr should either present a full solution to this "gluing" 
issue or just expose enough info for some other thing to solve it.

-- 
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/74c5c764-7c17-4705-9881-dae4bae75d8c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to