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.
