Upgrading from PHP 4

The difficulty you are likely to encounter when upgrading from PHP 4 will depend on what version of PHP 4 you are upgrading from, because in PHP 4.1 big changes were made regarding variable availability.

If you are upgrading from any version of PHP 4 from before 4.1, you need to be aware that PHP now uses special superglobal arrays to handle data coming from users. Register_globals, the special php.ini setting that made PHP automatically create variables from user input, is now disabled by default as a security precaution, and you are advised to keep it disabled.

The majority of changes made in PHP 5 relate to object orientation - you now have a lot more control over how your classes are used. For example, you can declare variables as being private, protected, or public depending on how you want other programmers to be able to access them. Objects are now always passed and assigned by reference - when you say $object_a = $object_b in PHP 5, it is equivalent to $object_a =& $object_b in PHP 4.

If you have the time, I strongly recommend you read all of the chapter on Objects - there have been many new features added to the language to make object orientation easier and more flexible for programmers, and it is all well worth knowing.