Nate Abele just announced Lithium 0.9 on the rad-dev blog. I think Lithium is a great looking framework and can't wait for it to get a 1.0 release and really start to take off. However, looking through the examples I started to notice that the use of the "use" namespace keyword was an often used convention. It reminded me of the require/require_once creep of the days of old. I was discussing it with Nate via Twitter, but I couldn't seem to get my point across. Maybe I will have better luck here...
We recently had a project at work that involved replacing all the relative URL's from the application with absolute URL's. In the past, developers had just hard-coded an absolute URL only when they need to force the browser over to https. Now we are using multiple subdomains, so this approach is no longer sufficient. We also wanted a way to easy rotate assets through multiple CDN URL's to speed up the time it takes a user's web browser to load all the content.
It has been said that all languages, over time, implement a dialect of lisp. PHP appears to be no exception.
There is a new magic constant in PHP 5.3: __DIR__. This new constant does not actually do anything new. It replaces the use of dirname(__FILE__) that is commonly found code using prior PHP versions.
The namespace operator in PHP 5.3 is a backslash (\). One of the criticisms of this operator is that the code starts to look like directory paths on Windows. The added side benefit of this is that spl_autoload() knows how to autoload classes that use a namespace style that matches the directory layout.
I have added a PHP 5.3 branch to the Crimson framework. The code now uses namespaces and has a native namespace autoloader. Some of the classes were renamed to conform with the PHP Framework Standards Group preliminary standard.
For the time being I will be keeping a 5.2 and 5.3 version of the Crimson framework until PHP 5.3 becomes even more stable.