PHP 5.3 is out and is moving from "a nice toy to play with" release into a production ready version of PHP. I for one am ready for this to happen. PHP 5.3 has some really great improvements that will empower programmers to do rock-star level stuff. Here are three things that I'm itching to use.

Name Spaces
I can't think of a more wonderful thing to come to PHP. Right now I have to create class names that look more like paragraphs than anything else. Here's a little (fake) example.

LB_ContentManagement_Helper_Validation_SpecialCharacters::ReplaceAmpersand($content);

In order to have an __autoload() function we need to have class names that also represent where the file is found. It makes for all kinds of goofy class names. I'm looking forward to the day when I can just state the namespaces I'm using and then call the class like this

SpecialCharacters::ReplaceAmpersand($content);

Late Static Binding
This is a complex issue with many implications. One of those implications is that you can now call a static method from a variable like so.

$className = "Users";$methodName = "Login";

$className::$methodName("bob@domain.com","password");

Prior to PHP 5.3, this wasn't possible. You had to instantiate the class, then call a public method to do the same thing. Now you can call a method outside of the context of strict inheritance. In the above example you could set a different method for different types of logins, such as an admin login vs. a site user. Not the most practical example, but it gives you an idea of what you can do.

Anonymous Functons
Anyone who has done anything with JavaScript will know the power of anonymous functions. They empower the programmer to create a function that can be used as a callback. Here's an example.

function doStuff($arg1, $arg2, $callback){ // do something with the arguments

$callback();}

doStuff("1", "2", function() { echo "we just did a callback"; });

In the above example, the call to the function "doStuff" contained an anonymous function. This was then called within "doStuff" when all the processing of $arg1 and $arg2 was finished. This methodology has been a life saver in JavaScript, especially with jQuery, and I'm glad to see its arrival in PHP.

These and other features are moving PHP forward. I can't wait until PHP 5.3 is adopted as the standard so that these new features can be turned into great applications.