ID: 29689 Updated by: [EMAIL PROTECTED] Reported By: php dot net at benjamin dot schulz dot name -Status: Open +Status: Bogus Bug Type: Unknown/Other Function Operating System: linux PHP Version: 5.0.1 New Comment:
Private members belong only to the class where they were defined and cannot be inherited. Previous Comments: ------------------------------------------------------------------------ [2004-08-15 22:03:50] php dot net at benjamin dot schulz dot name default value of protected member overrides default value of private ------------------------------------------------------------------------ [2004-08-15 21:52:17] php dot net at benjamin dot schulz dot name Description: ------------ protected member overrides private Reproduce code: --------------- <?php class foo { private $foo = 'foo'; function printFoo() { echo __CLASS__, ': ', $this->foo, '<br />'; } } class bar extends foo { protected $foo = 'bar'; function printFoo() { parent::printFoo(); echo __CLASS__, ': ', $this->foo, '<br />'; } } class baz extends bar { protected $foo = 'baz'; } $bar = new bar; $bar->printFoo(); echo '<hr />'; $baz = new baz(); $baz->printFoo(); ?> Expected result: ---------------- foo: foo bar: bar -- foo: foo bar: baz Actual result: -------------- foo: foo bar: bar -- foo: baz bar: baz ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=29689&edit=1