#40372 [NEW]: Unlogical behaviour with private/public properties and __get
From: djungowski at chipxonio dot de
Operating system: Ubuntu
PHP version: 5.2.0
PHP Bug Type: Class/Object related
Bug description: Unlogical behaviour with private/public properties and __get
Description:
------------
__get() does not seem to work properly when predeclaring the property
When declared as public, __get isn't referenced, private properties are
being redeclared as public!
Reproduce code:
---------------
class param
{
public $a;
private $b;
function __get($memberName)
{
switch($memberName)
{
case 'a':
$var = 'a';
break;
case 'b':
$var = 'b';
break;
}
return $var;
}
}
$p = new param();
$a = $p->a;
$b = $p->b;
Expected result:
----------------
$a = 'a'
$b should throw an error, since param->b has been declared as private
Actual result:
--------------
$a = ''
$b = 'b'
--
Edit bug report at http://bugs.php.net/?id=40372&edit=1
--
Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=40372&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=40372&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=40372&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=40372&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=40372&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=40372&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=40372&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=40372&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=40372&r=support
Expected behavior: http://bugs.php.net/fix.php?id=40372&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=40372&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=40372&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=40372&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=40372&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=40372&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=40372&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=40372&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=40372&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=40372&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=40372&r=mysqlcfg
Thread (6 messages)
- djungowski at chipxonio dot de