Using old code with new versions of PHP
Now that PHP has grown to be a popular scripting language, there are
a lot of public repositories and libraries containing code you can reuse.
The PHP developers have largely tried to preserve backwards compatibility,
so a script written for an older version will 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
superglobal arrays
were introduced in PHP » 4.1.0.
They are: $_GET, $_POST,
$_COOKIE, $_SERVER,
$_FILES, $_ENV,
$_REQUEST, and $_SESSION. The
older $HTTP_*_VARS arrays, such as
$HTTP_POST_VARS, also exist.
Începând cu PHP 5.0.0
variabilele predefinite cu tablourile lungi pot fi dezactivate cu
ajutorul directivei register_long_arrays.
-
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 superglobal arrays mentioned
above. Older scripts, books, and tutorials may rely on this
directive being on. If it were 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.