Req #53229 [Opn]: Change of getters and setters
Edit report at http://bugs.php.net/bug.php?id=53229&edit=1
ID: 53229
User updated by: sjors dot vanleeuwen at itsxtreme dot com
Reported by: sjors dot vanleeuwen at itsxtreme dot com
Summary: Change of getters and setters
Status: Open
Type: Feature/Change Request
Package: Class/Object related
PHP Version: Irrelevant
Block user comment: N
New Comment:
Sorry for the 1000000th post of the request and ofcourse thanks for the
tips, though not everyone of them applies to the cause.
Be hoping to see it soon and i might look into creating a patch for it
in the meanwhile. Is there any way i can help developing it for the
community?
Kind regards
Previous Comments:
------------------------------------------------------------------------
[2010-11-04 17:03:42] uramihsayibok at gmail dot com
This is the umpteenth request for this feature. Look at the PHP RFC Wiki
(http://wiki.php.net/rfc), specifically "Property get/set syntax"
(http://wiki.php.net/rfc/propertygetsetsyntax).
Meanwhile, a protip for you:
1. Use a public $a and public $b.
2. Unset the variables in your constructor.
3. Implement __get and __set however you see fit. Example: use protected
_getA()
and _setA() methods.
------------------------------------------------------------------------
[2010-11-02 20:44:28] sjors dot vanleeuwen at itsxtreme dot com
Description:
------------
It would be very usefull to have getters in a way like c#.
Example:
Class Test {
private $_a;
private $_b;
public function get a() {
return $this->_a;
}
}
this way the private $_b isn't available to the outside world which is
the case with out of the box __get.
It also (in my opinion) gives your code a much cleaner look and you can
do special things if needed in your functions too.
in the __get function you'll have to make if statements or other checks
to get the same result.
You can also just use:
Example:
Class Test {
private $_a;
private $_b;
public function a() {
return $this->_a;
}
}
but then you would have to use:
$test->a() instead of $test->a which gives a wrong assumption that you
are calling a function which you are not, you are calling a property of
your object.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=53229&edit=1
Thread (6 messages)