Oh god... as if configuring Apache for a non-trivial site wasn't complicated enough, now we'll have the full genius of those responsible for PHP's function naming conventions writing their own web server? Is this really necessary? Why not spend the time making PHP's namespace support not suck, or working on the SPL?
Curious as to why you think PHP's namespace feature (I'll assume you mean the real one introduced in 5.3) sucks.
It seems like you didn't read the whole RFC. The configuration is actually very simple (just the command line options), and not meant to be a front-facing HTTP server.
Off the top of my head, because when I want to reference My.Namespace.MyClass.Foo(), I have to do something like:
use \My\Namespace;
$var = new Namespace\MyClass();
$var->Foo();
I have to remember and type the parent namespace for every imported class I want to use. In a big project this gets to be too much typing and too much for my brain to remember. Contrast with say, C#:
using My.Namespace;
MyClass var = new MyClass();
var.Foo();
You import a namespace, and the compiler figures out what goes where without you having to remember anything.
Plus the weird exceptions required for backwards compatibility, and the global namespace: I often forget where a root \ is required and where it isn't (not when declaring a namespace, but often--not always!--when referencing one). And of course there's the monstrous choice of namespace separator.
End of the world? Not really. Sucks? Yeah. And possibly a dealbreaker for me for larger projects with complicated namespaces and lots of classes.
I'd love for this to be just a misunderstanding on my part, because it would make my life a lot easier if PHP namespaces where more like C# ones!
Your PHP example is possible to write in a way that is nearly identical to the C# you provided. Why are you prefixing Namespace\MyClass(); when you declared your namespace scope in 'use \My\Namespace'? Your assignment can just be:
$var = new MyClass();
This brings it pretty much in line with your C# example. Have you read the PHP docs on namespaces?
I was taken aback when I tested this for myself as my initial reading of the PHP docs lead me to a very different conclusion. You are indeed correct, and in my opinion that is very broken. Touché.
Why? Web Applications and Web Servers are two very different things with different language requirements. Seems sensible to pick the strongest languages with which to build the whole package.
I guess you don't push web servers. They're "apps", not system software. Anybody who deploys non-trivial web-apps knows this. Per-app web servers, standing behind a proxy, with a shared session-db is the most ideal way to get things done.
At this point in the game, Apache-class servers are glorified proxies, and occasionally dole out static data when you're not using a CDN.
I have customized my web server so much, I would've had to wait for years to see the changes in Apache, nginx or lighty, if ever.