Usar código antiguo en nuevas versiones de PHP
Ahora que PHP ha crecido y se ha convertido en un lenguaje popular, hay
muchos más repositorios y bibliotecas que contienen código que puede reutilizar.
Los desarrolladores de PHP han intentado preservar la retrocompatibilidad,
es decir, si un script fue escrito para una versión antigua, funcionará (idealmente) sin ningún
cambio en una versión reciente de PHP. En la práctica, son necesarios normalmente algunos cambios.
Dos de los cambios más importantes que afectan el código antiguo son:
-
La obsolescencia de los antiguos arrays $HTTP_*_VARS
(que necesitan ser indicados como globales al utilizarlos dentro de una función o
método). Los siguientes
arrays superglobales
fueron introducidos en PHP » 4.1.0.
Son: $_GET, $_POST,
$_COOKIE, $_SERVER,
$_FILES, $_ENV,
$_REQUEST, y $_SESSION. Los
antiguos arrays $HTTP_*_VARS, como
$HTTP_POST_VARS, todavía existen.
A partir de PHP 5.0.0, los arrays de
variables predefinidas
de tipo long de PHP se pueden desactivar con la directiva
register_long_arrays
.
-
Las variables externas ya no son registradas en el ámbito global de forma
predeterminada. En otras palabras, a partir de PHP
» 4.2.0, la directiva de PHP
register_globals está
desactivada (off) por defecto en php.ini. El mejor
método para acceder a estos valores es por medio de las variables superglobales
mencionadas anteriormente. Los scripts, libros y tutoriales antiguos podrían contar con que
está directiva esté activada (on). Si fuera on,
por ejemplo, se podría usar $id desde el URL
http://www.example.com/foo.php?id=42. Ya esté activada
o desactivada, $_GET['id'] está siempre disponible.
Para más información relacionada con estos cambios, véase la sección sobre
variables predefinidas
y los enlaces que incluye.