On Wed, Oct 21, 2015 at 03:54:48PM +0000, Dan Ackroyd wrote: > Hi Sean, internals, > > While I support this RFC, it seems that the actual implementation is > still under discussion. > > In particular, whether the RFC is going to allow protected constants > in an interface is not clear. > > In the text of the RFC, on one line it says: "This RFC propose PHP > support class constant visibility that mirror the behaviour of method > and property visibility." This would imply that protected constants > are not allowed, as protected methods are not allowed in interfaces. > > Just below it says: "//Interfaces only support protected/public const, > and a compile time error will be throw for privates" Which says > clearly that protected constants _would_ be allowed. > > Please can you update the text of the RFC? > > Unfortunately, that may need a restart of the voting :-\ However that > should just be a formality as it seems to be a popular RFC. > > cheers > Dan > > -- Hi!
That is an unfortunate mistake on my part. The *proper* way to adjust visibility of a trait from a class constant is the following. trait myTrait { public const FOO = 'bar' } class myClass { use myTrait { FOO as protected; } } class myClass { use myTrait { FOO as private; } } We should not allow anything besides public in trait, this mirrors the design of methods. If this is right (mind just sending an ACK to make sure I got it right this time) I will update the RFC. Who decides if/when we should restart voting? thanks -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php