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.