Use de código antiguo con nuevas versiones de
PHP
Ahora que PHP ha crecido y se ha convertido en un lenguaje
popular, hay muchos más recursos que contienen
código que puede reusar en sus propios programas. Por lo
general, las personas que se encargan del desarrollo de PHP tratan
de que el lenguaje sea compatible con versiones anteriores, para
que los programas escritos con versiones antiguas continúen
funcionando cuando instale una nueva versión de PHP. En un
mundo perfecto, nunca necesitaría modificar su
código para hacerlo funcionar con versiones nuevas del
lenguaje; pero, como todos sabemos, este no es un mundo perfecto,
y usualmente son necesarios los cambios en su código.
Dos de los cambios mas importantes que afectan el código
viejo son:
-
La desaparición de las
matrices $HTTP_*_VARS (que usualmente son
usadas como globales al interior de una función o
método). Las siguientes matrices
autoglobales fueron introducidas en la
versión » 4.1.0 de PHP. Estas son:
$_GET, $_POST,
$_COOKIE, $_SERVER,
$_FILES, $_ENV, $_REQUEST,
y
$_SESSION. Las
antiguas $HTTP_*_VARS, como $HTTP_POST_VARS,
todavía existen, y han existido desde PHP 3.
-
Las variables externas que ya no son registradas
automáticamente. En otras palabras, a partir de
PHP » 4.2.0, la
directiva PHP register_globals
está deshabilitada (su valor es
off) en php.ini. El método preferido para obtener
acceso a éstos valores es por medio de las "matrices
autoglobales" mencionados anteriormente. Los scripts, libros y
tutoriales antiguos pueden asumir que ésta directiva es
definida automáticamente como "on". Si es así,
puede usar, por ejemplo,
$id desde la URL
http://www.example.com/foo.php?id=42. Por
otra parte, no importa si el valor de la directiva es "on" u
"off", $_GET['id'] está siempre disponible.
Para más detalles relacionados con estos cambios, puede ver la
sección sobre
variables
predefinidas.