Hello everybody, I found a difference between late static binding in PHP 5.3 and PHP 5.4 and I cannot find any documentation to explain this difference. Here is some code to show you this difference: class Foo { const MY_CONST = 'The Foo'; static $my_var = self::MY_CONST; } class Bar extends Foo { const MY_CONST = 'The Bar'; static $my_var = self::MY_CONST; } echo Bar::$my_var."\n"; echo Foo::$my_var."\n"; In PHP 5.3 (tested on 5.3.2), the output is: The Bar The Foo In PHP 5.4 (tested on 5.4.4 and 5.4.6), the output is: The Bar The Bar It's confusing me, is this a bug or a feature? Note all in both versions, the output is same if you call Foo before Bar: echo Foo::$my_var."\n"; echo Bar::$my_var."\n"; Output in PHP 5.3 and PHP 5.4: The Foo The Bar This is even more confusing for me since the result is not the same in PHP 5.4 base on the statement you execute first... Keven. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php