Req #62860 [Com]: Moar magic methods! __constructStatic(), __getStatic(), __setStatic(), __get

From: Date: Fri, 24 Apr 2015 05:34:32 +0000
Subject: Req #62860 [Com]: Moar magic methods! __constructStatic(), __getStatic(), __setStatic(), __get
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-192314@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=62860&edit=1

 ID:                 62860
 Comment by:         michaelduff2 at yahoo dot com
 Reported by:        michaelduff2 at yahoo dot com
 Summary:            Moar magic methods! __constructStatic(),
                     __getStatic(), __setStatic(), __get
 Status:             Open
 Type:               Feature/Change Request
 Package:            *General Issues
 PHP Version:        Irrelevant
 Block user comment: N
 Private report:     N

 New Comment:

RE: levim at php dot net

It is loosely related, however as GoogleGuy points out, Request #45002 mistakenly refers to __get
and __set which are for object properties, not class properties; whereas this one more explicitly
refers to accessors for static properties.

This request also includes a new heuristic: __constructStatic() which that request does not.  Should
I break that part of this request out?

Finally, have the patches submitted by (thekid at php dot net) or (allesbesser at gmail dot com)
from Request #45002 been vetted and incorporated yet?


Previous Comments:
------------------------------------------------------------------------
[2014-05-08 18:04:45] levim@php.net

This is at least related to bug 45002.

------------------------------------------------------------------------
[2012-09-12 03:35:35] laruence@php.net

<GoogleGuy> The fact that his code defies the point of using magic getters and 
setters should have been a hint.
<GoogleGuy> __get and __set are meant for inaccessible variables.

------------------------------------------------------------------------
[2012-09-12 02:52:03] laruence@php.net

they are not dup...

------------------------------------------------------------------------
[2012-09-12 02:41:08] reeze@php.net

Duplicate to https://bugs.php.net/bug.php?id=45002 closed.

------------------------------------------------------------------------
[2012-09-05 15:12:01] matthew dot bonner at gmail dot com

Sorry in my last example there was a typo, and what I meant was:
I would like to add that being magic methods, it would be nice if they could do a little more magic,
ie:

class Classy {
  public static $foo = 'foo';
  public $bar = 'bar';

  public static function __get ($propertyName) {
    return self::$propertyName;
  }

  public function __get ($propertyName) {
    return $this->$propertyName;
  }
}

echo Classy::$foo; // outputs "foo"
$classy = new Classy;
echo $classy->bar; // outputs "bar"

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=62860


--
Edit this bug report at https://bugs.php.net/bug.php?id=62860&edit=1


Thread (11 messages)

« previous php.bugs (#192314) next »