Bug #11756 Updated: Private, Protected variables in classes
| From: | jimw@php.net | Date: | Sat, 27 Apr 2002 19:35:04 +0000 |
| Subject: | Bug #11756 Updated: Private, Protected variables in classes | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-6285@lists.php.net to get a copy of this message | ||
ID: 11756
Updated by: jimw@php.net
Reported By: alavoor@yahoo.com
-Status: Analyzed
+Status: Closed
Bug Type: Feature/Change Request
Operating System: Linux
PHP Version: 4.0.6
New Comment:
implemented in ZE2.
Previous Comments:
------------------------------------------------------------------------
[2001-06-28 06:30:13] derick@php.net
This will be dealt with with the new version of the Zend engine. The
timeframe is a few months... so please stay tuned...
------------------------------------------------------------------------
[2001-06-27 18:05:08] alavoor@yahoo.com
for example:
class
{
private:
var $myvar;
var $myvar2:
public:
var $myvar3;
function myfoo()
{
print "the variable is : " . $myvar
}
}
will be converted "on the fly" by PHP interpreter to
class
{
var $myvar_993679346;
var $myvar2_993679346:
var $myvar3;
function myfoo()
{
print "the variable is : " . $myvar_993679346;
}
}
Note that 993679346 is the time stamp got by time(). PHP interpreter
when it starts up will store this
timestamp value in a global var and use it throught to mangle all the
private variables declared in
all the classes in all the files..
------------------------------------------------------------------------
[2001-06-27 17:47:52] alavoor@yahoo.com
I have a good idea. It is extremely easy to implement private,
protected variables in classes.
PHP can use the name mangling of variables to implement private
variables in classes. This technique is used by python language.
What you do is - PHP will read the class and simply change the variable
names to <variablename>_timestamp. Where timestamp is unique id got by
time() function.
Classes need private, protected variables. What do you say??
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=11756&edit=1