Now that PHP has grown to be a popular scripting language, there are
more resources out there that have listings of code you can reuse
in your own scripts. For the most part the developers of the PHP
language have tried to be backwards compatible, so a script written
for an older version should run (ideally) without changes in a newer
version of PHP, in practice some changes will usually be needed.
Two of the most important recent changes that affect old code are:
The deprecation of the old $HTTP_*_VARS arrays
(which need to be indicated as global when used inside a function or
method). The following
autoglobal arrays
were introduced in PHP 4.1.0.
They are: $_GET, $_POST,
$_COOKIE, $_SERVER,
$_ENV, $_REQUEST, and
$_SESSION. The older $HTTP_*_VARS
arrays, such as $HTTP_POST_VARS, still exist and have since PHP 3.
External variables are no longer registered in the global scope by
default. In other words, as of PHP
4.2.0 the PHP directive
register_globals is
off by default in php.ini. The preferred
method of accessing these values is via the autoglobal arrays mentioned
above. Older scripts, books, and tutorials may rely on this
directive being on. If on, for example, one could use
$id from the URL
http://www.example.com/foo.php?id=42. Whether on
or off, $_GET['id'] is available.
For more details on these changes, see the section on
predefined variables
and links therein.