From: Operating system: Any PHP version: 5.3.6 Package: Class/Object related Bug Type: Bug Bug description:Late Static Binding on Properties and/or Inheritance
Description: ------------ Should late static binding also apply to properties? My test here I would have expected each result to be different, not the value of the last created object. It is counter-intuitive to work on methods and not properties. I would expect this behaviour with self:: but not static:: inb4 "we rejected this multiple times" i do not actually care about the object class name like in my example, that was just an easy demo case. Test script: --------------- <?php // [bob@cairne:test]$ php static.php // value: two two two class old { static $prop = 'old'; public function __construct() { static::$prop = get_class($this); } } class one extends old { } class two extends old { } $one = new one; $two = new two; printf("value: %s %s %s\n",old::$prop,one::$prop,two::$prop); ?> Expected result: ---------------- value: old one two Actual result: -------------- value: two two two -- Edit bug report at http://bugs.php.net/bug.php?id=54543&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=54543&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=54543&r=trysnapshot53 Try a snapshot (trunk): http://bugs.php.net/fix.php?id=54543&r=trysnapshottrunk Fixed in SVN: http://bugs.php.net/fix.php?id=54543&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=54543&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=54543&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=54543&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=54543&r=needscript Try newer version: http://bugs.php.net/fix.php?id=54543&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=54543&r=support Expected behavior: http://bugs.php.net/fix.php?id=54543&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=54543&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=54543&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=54543&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=54543&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=54543&r=dst IIS Stability: http://bugs.php.net/fix.php?id=54543&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=54543&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=54543&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=54543&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=54543&r=mysqlcfg