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