My experience is that most (OO) code doesn't work when moving anyway... so this is a bad excuse andi ;-)
If you turn zend.ze1_compatibility_mode on (and a lot of people have to do that) then the situation is a bit better. Which brings me to the point that all those E_STRICT messages in compatibility mode slow down execution of such old applications while not really helping, they give a warning on almost each and every assignement and object creation. That's one of the things stopping me from even trying to move one of the bigger applications here to PHP 5.
Removing register_globals will not be possible for years. You might not like it but you'll have to accept it. Otherwise you'll either mess up a lot of people's life having to fix very subtle bugs or you'll stop a lot more people from using the new version altogether. Programming is like sex, one mistake and you have to support it for life :-)
One thing I don't quite get about the proposed patch to overwriting superglobals is why
int globals_check = (PG(register_globals) && (dest == (&EG(symbol_table))));
checks for register_globals. Originally I was under the impression that the ?GLOBALS=foo problem exists with register_globals off too. My naive understanding would be that with register_globals off the user should be _even less_ able to overwrite something in the globals variable space so the application can be sure that every global variable was set by itself. Or did I misinterpret the patch and/or the problem?
Cheers, - Chris
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php