Originally posted by CornedBee
I knew that the expand-globals feature was deprecated, but I didn't know about the HTTP_* vars. Why did they change it?
They wanted to have a way to have the variables to be available in every scope without having to be defined global. So rather then change the way the $HTTP_ variables worked, they just added the superglobals. Why they did it that way, I'm not sure.

Personally, I like them better just because they're shorter to type.

There are also security issues, but that's more for $var and $_POST['var'], but I'm sure $HTTP_ vars took care of that, too.

I highly doubt they $HTTP_ vars will be removed, but I still think it's best to use the superglobals just incase.