Ah, I thought you were talking about both. Non-public makes more sense for properties, but I thought you were talking about methods not having ppp either. No worries then.
</de-lurk> --Larry Garfield On Wed, 20 Feb 2008 23:19:23 -0800, "Andi Gutmans" <[EMAIL PROTECTED]> wrote: > 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 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php