Re: [RFC] Propety Accessors v1.1
| From: | Benjamin Eberlei | Date: | Mon, 08 Oct 2012 22:26:59 +0000 |
| Subject: | Re: [RFC] Propety Accessors v1.1 | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-63286@lists.php.net to get a copy of this message | ||
The set() one is really nice with the typehints.
On Tue, Oct 9, 2012 at 12:19 AM, Aaron Holmes <aaron@aaronholmes.net> wrote:
> On 10/8/12 1:07 PM, Denis Portnov wrote:
>
>> 08.10.2012 15:52, Clint Priest пишет:
>>
>>> public $Hours {
>>> get { return $this->Seconds / 3600; }
>>> set { $this->Seconds = $value; }
>>> isset<http://www.php.net/isset**> {
>>> return isset<
>>> http://www.php.net/isset**>($this->Seconds); }
>>> unset<http://www.php.net/unset**> {
>>> unset<
>>> http://www.php.net/unset**>($this->Seconds); }
>>> }
>>>
>>
>>
>> Hi Clint,
>>
>> I've noticed some magic variable '$value' is introduced. And except for
>> superglobals I guess there is no such thing in PHP, so it looks bit
>> puzzling to me. I'd suggest on of the following:
>>
>>
>> - setter resambles setter method, wich also allows typehinting
>> public $Hours {
>> set ($value) { $this->Seconds = $value * 3600; }
>> }
>>
>> public $Hours {
>> set (DateTime $dateTime) { $this->Seconds =
>> $dateTime->getTimestamp(); }
>> }
>>
>> This seems like the cleanest method, in my opinion. Javascript does this
> for object prototypes:
>
> http://ejohn.org/blog/**javascript-getters-and-**setters/<http://ejohn.org/blog/javascript-getters-and-setters/>
>
>
>>
>> What do you think?
>>
>> Thanks
>> Denis
>>
>>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>