@aldo
Hi There - I guess my posting was a bit tongue in cheek - however I think the point stands that if you have a code base of say 1.5 million lines for a system that was written originally for PHP4 then the sheer size of the task including all the data migration and testing for a significant revision is something that has to be carefully considered. I agree that over time it would be a good thing to do, however my call really is to suggest that it is not always possible to generalise and sometimes the sheer practicality and costs associated with a task may prohibit or delay progressing it.
On the PHP4 to PHP5 subject actually there are a number of things that may give rise to problems running good quality well written PHP4 code on a PHP5 system. One of the key areas is the change in the object model and an important change here is that in PHP4 everything was passed by value (including objects). In PHP5 this changed to being passed by reference. Great if your PHP4 code is not affected, however if you were writing substantially OO in 4 then you may have some difficulties with 5 in this and other areas e.g. to copy an object you need to use clone in php5 in order to get a full copy - again this may not affect you, but in a large codebase that was produced by a team who may not all now be available to assist this would have to be checked out before migrating to 5 and it could be a massive task just to undertake a proper code review.
Another example of an area that could cause problems is the use of get_x() - it always returns lowercase in PHP4 and in 5 will return the actual name - so using get_class() on the class CamelCaseClass returns camelcaseclass in 4 and in 5 CamelCaseClass - again may or may not be an issue for you. There is a useful page on php.net which covers some of the backward compatibility issues - the implications are actually potentially much further reaching than may initially be obvious.
http://php.net/manual/en/migration5.incompatible.phpHope this is of some help to people and thanks aldo for taking the time to reply.