Re: RFC Proposal - Attributes read/write visibility

From: Date: Mon, 16 Jul 2012 15:29:57 +0000
Subject: Re: RFC Proposal - Attributes read/write visibility
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-61314@lists.php.net to get a copy of this message
On Mon, Jul 16, 2012 at 5:24 PM, Amaury Bouchard <amaury@amaury.net> wrote: > Yes, but only if you have to write an accessor. > If you just want an attribute that is: > - readable from everywhere > - writable from the current class only > > With my syntax: > public:private $a; (read it aloud "public reading, private writing") > > With the existing RFC: > public $a { > private set { $this->a = $value; } > } > > Which one is better? Why should I write code for that? > > If you read the existing RFC, you'll see that all examples involve a > specific case: when you have a "fake" attribute, which manipulates date > stored in other attributes. The given example is an $Hours attributes, which > is calculated from the private $Seconds attribute. > Again, it could be very useful. But it doesn't work all the time. You can also just write public $a { get; private set; }. I see that the syntax is a bit more verbose, but I definitely prefer it to the obscure public:private notation. With the getters/setters the meaning is somewhat clear (public get, private set), with the colon notation it isn't really clear. Nikita

« previous php.internals (#61314) next »