My email talked about properties not methods. Please re-read it :) Andi
> -----Original Message----- > From: Larry Garfield [mailto:[EMAIL PROTECTED] > Sent: Wednesday, February 20, 2008 10:51 PM > To: internals@lists.php.net > Subject: Re: [PHP-DEV] RFC: Traits for PHP > > I am unclear on how this: > > trait ParseThingie { > protected function parseThingie($thingie) {...} > } > trait ProcessThingie { > protected function parseThingie($thingie) {...} > } > class Thingies { > use ParseThingie; > use ProcessThingie; > } > > allows more opportunity for confusion and clashes than this: > > trait ParseThingie { > public function parseThingie($thingie) {...} > } > trait ProcessThingie { > public function parseThingie($thingie) {...} > } > class Thingies { > use ParseThingie; > use ProcessThingie; > } > > (Presumably an un-qualified method would be public for traits just like > for > classes.) > > OK the above example is a bit of a strawman, but I don't know a non- > strawman > example here. :-) That's the clarification I'm asking for. > > On Thursday 21 February 2008, Andi Gutmans wrote: > > Because then you get into similar problems as with multiple > inheritance > > when you have property clashes and other issues. > > The reason why private is beneficial and different because it will > allow > > you to develop self contained functionality which can be attached to > > random classes. This can be quite useful for Timers, Counters, > > Containers, etc... > > > > Andi > > > > > -----Original Message----- > > > From: Larry Garfield [mailto:[EMAIL PROTECTED] > > > Sent: Wednesday, February 20, 2008 9:54 PM > > > To: internals@lists.php.net > > > Subject: Re: [PHP-DEV] RFC: Traits for PHP > > > > > > On Wednesday 20 February 2008, Andi Gutmans wrote: > > > > a) > > > > I think Traits should be able to act as a self-contained behavior > > > > > > which can > > > > > > > always be expected to work. For example if I want a Counter > behavior > > > > > > I > > > > > > > would like that not to depend on the properties in the containing > > > > > > class. > > > > > > > While I don't think we should enable public nor protected > properties > > > > > > in > > > > > > > Traits I think allowing for private properties in Traits would > come > > > > > > in very > > > > > > > handy. It also is no problem when it comes to mangling as we can > use > > > > > > the > > > > > > > Trait name. > > > > > > > > class Trait { > > > > private $counter = 0; > > > > function getNextSerialNumber() { > > > > return $this->counter++; > > > > } > > > > } > > > > > > > > I strongly recommend not to support protected/public and not to > even > > > > > > get > > > > > > > into the discussion of dealing with conflicts of such properties. > > > > But > > > > > I > > > > > > > think private is very useful. > > > > > > Hi Andi. Why no ppp on Traits? It seems useful to be able to pull > in > > > a > > > utility function or functions that can be leveraged from other > > > > methods, > > > > > like > > > domain-specific parsers, without exposing them to the outside > world. > > > Is it > > > an engine-level implementation issue, or a conceptual complexity > > > > issue? > > > > > I > > > don't really see a complexity issue on the developer level, at > least > > > for me. > > > > > > -- > > > Larry Garfield AIM: LOLG42 > > > [EMAIL PROTECTED] ICQ: 6817012 > > > > > > "If nature has made any one thing less susceptible than all others > of > > > exclusive property, it is the action of the thinking power called > an > > > idea, > > > which an individual may exclusively possess as long as he keeps it > to > > > himself; but the moment it is divulged, it forces itself into the > > > possession > > > of every one, and the receiver cannot dispossess himself of it." - > - > > > Thomas > > > Jefferson > > > > > > -- > > > PHP Internals - PHP Runtime Development Mailing List > > > To unsubscribe, visit: http://www.php.net/unsub.php > > > -- > Larry Garfield AIM: LOLG42 > [EMAIL PROTECTED] ICQ: 6817012 > > "If nature has made any one thing less susceptible than all others of > exclusive property, it is the action of the thinking power called an > idea, > which an individual may exclusively possess as long as he keeps it to > himself; but the moment it is divulged, it forces itself into the > possession > of every one, and the receiver cannot dispossess himself of it." -- > Thomas > Jefferson > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php