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.


Want to learn PHP 7?

Hacking with PHP has been fully updated for PHP 7, and is now available as a downloadable PDF. Get over 1200 pages of hands-on PHP learning today!

If this was helpful, please take a moment to tell others about Hacking with PHP by tweeting about it!

Next chapter: The creators of PHP >>

Previous chapter: Upgrading from PHP 3

Jump to:


Home: Table of Contents

Copyright ©2015 Paul Hudson. Follow me: @twostraws.