News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Mike Lively's Blog:
Late static binding....sorta /
September 27, 2007 @ 12:58:00

Mike Lively is happy about one thing - that late static binding (definition) has been committed and will be included with PHP 5.3. Unfortunately, he has a downside too:

The good news is late static binding has been introduced into head and looks like it will be merged into 5.3 before it is released. The horrible news is I really don't think the patch went as far as it needs to.

He talks about the original intention of the functionality (flexible inheritance for static methods/properties/constants) and how it was implemented, but with one small issue - that "static will ALWAYS return the 'resolved' name of the class used to call the current function". He illustrates with a code example showing an extended class returning a static property.

He also mentions two suggestions to help fix this issue:

  • setting the behavior of parent:: such that it forwards the calling class through the next function call.
  • introducing another scope [...] using a new keyword so parent:: could remain the same
1 comment voice your opinion now!
late static binding patch missing functionality parent inheritance late static binding patch missing functionality parent inheritance


blog comments powered by Disqus

Similar Posts

AskAboutPHP.com: CodeIgniter: Extending the native 'Model' and make it your own.

Elizabeth Smith's Blog: CC_Tooltips - easy php-gtk tooltip management

PHP Magazine: What Would You Like to See In PHP 6?

LivePipe Blog: What PHP6 Actually Needs

Joshua Thompson's Blog: Return to Prototype Based Programming in PHP


Community Events

Don't see your event here?
Let us know!


framework release laravel laravel5 library php7 community language unittest opinion version introduction voicesoftheelephpant api example series podcast interview extension list

All content copyright, 2015 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework