#48355 [NEW]: Direct access to protected properties and methods

From: Date: Thu, 21 May 2009 12:58:47 +0000
Subject: #48355 [NEW]: Direct access to protected properties and methods
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-137605@lists.php.net to get a copy of this message
From: gaj dot capuder at spletna-postaja dot com Operating system: Vista PHP version: 5.3.0RC2 PHP Bug Type: Feature/Change Request Bug description: Direct access to protected properties and methods Description: ------------ When accessing object properties directly witin object's parent (the one which object extends) the property acts as if it was public (no error). Similar thing happens with protected constructors where new instance of a certain class can be created using "new" when the call is made inside of an object which is the parent or which extends the same parent. Reproduce code: --------------- class A { public function access() { $b = new B; echo $b->property; } } class B extends A { protected $property = 'Should be protected'; } class C extends A { } $c = new C; $c->access(); $b = new B; echo $b->property; Expected result: ---------------- Fatal error: Cannot access protected property B::$property Actual result: -------------- Protection is broken Fatal error: Cannot access protected property B::$property -- Edit bug report at http://bugs.php.net/?id=48355&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=48355&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=48355&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=48355&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=48355&r=fixedcvs Fixed in CVS and need be documented: http://bugs.php.net/fix.php?id=48355&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=48355&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=48355&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=48355&r=needscript Try newer version: http://bugs.php.net/fix.php?id=48355&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=48355&r=support Expected behavior: http://bugs.php.net/fix.php?id=48355&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=48355&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=48355&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=48355&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=48355&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=48355&r=dst IIS Stability: http://bugs.php.net/fix.php?id=48355&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=48355&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=48355&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=48355&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=48355&r=mysqlcfg

« previous php.bugs (#137605) next »