ID: 24808 Updated by: [EMAIL PROTECTED] Reported By: Bertrand dot Willm at laposte dot net -Status: Open +Status: Bogus Bug Type: Class/Object related Operating System: Windows XP PHP Version: 5.0.0b1 (beta1) New Comment:
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php Try this: <?php class CBaseClass { private $var = 'default'; function get($name) { return $this->var; } } $object = new CBaseClass(); echo $object->get('name'); ?> Previous Comments: ------------------------------------------------------------------------ [2003-07-25 16:09:31] Bertrand dot Willm at laposte dot net Description: ------------ I want to have access to private or protected member throw __get and __set method to control the access or just to let a read access to this member (and then __set is not used). To do that I have to choose an other name for this property. I can't use the same name as the private member. PHP could test if there is __get or __set method and use them before telling ther is an error. Reproduce code: --------------- <?php class CBaseClass { private $var = 'default'; function __get($name) { return $this->var; } } $object = new CBaseClass(); echo $object->var; ?> Expected result: ---------------- default Actual result: -------------- Fatal error: Cannot access private property cbaseclass::$var in c:\sitesweb\www\test.php5 on line 11 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=24808&edit=1