Sean Coates has posted a new article today about one of the features that will be included in the next major release of PHP (5.3) - late static bindings.
Late Static Binding (LSB) is a topic that's been brought up numerous times in the past three years in various PHP development discussion circles (and we're finally getting it in PHP 5.3)â€”but what does it really do, and why should you care? Here's a simple practical example of how it can greatly simplify your code's design.
He shows its usefulness in an example of how it works, letting classes/objects access static methods, constants and properties of inherited classes (besides their own). His example (using beer, of course) shows how an extended class (Ale) can reference the constant (NAME) in the parent class (Beer). Thanks to a new keyword in PHP 5.3 - "static::" - helps define the difference even clearer.
Check out the rest of the article for a more practical usage too.