Re: [RFC] Propety Accessors v1.1

From: Date: Mon, 08 Oct 2012 22:19:17 +0000
Subject: Re: [RFC] Propety Accessors v1.1
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-63285@lists.php.net to get a copy of this message
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/
What do you think? Thanks Denis


« previous php.internals (#63285) next »