Hello, On 17.02.16 15:25, Kevin Gessner wrote: > I've noticed s pattern in Etsy's code and elsewhere, where a trait provides > a common implementation of an interface. Classes that use the trait are > required to also explicitly declare the interface to benefit. I propose > that traits be permitted to declare and implement interfaces.
I like this, because this is a pattern I experienced myself. In my code I've: - interface GroupBulkFilterable { .. } - trait GroupBulkFilterTrait { .. } and later class AbstractModelBridge implements ModelBridge, GroupBulkFilterable { use GroupBulkFilterTrait; Would use the interface on the trait in an instant. > Classes that > use such a trait would then implement the interface, as though it were > declared on the class, without declaring the interface explicitly. I don't like this. I prefer explicit over implicit. I would still see value in the first point only (but haven't thought that through ...). cheers, - Markus -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php