Utilizar 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, normalmente son necesarios algunos cambios.

Dos de los cambios más importantes que afectan el código antiguo son:

  • Los antiguos arrays $HTTP_*_VARS ya no están disponibles a partir de PHP 5.4.0. Los siguientes arrays superglobales fueron introducidos en PHP » 4.1.0. Son: $_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_ENV, $_REQUEST, y $_SESSION.
  • 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 esta 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.