Utiliser des codes anciens avec les nouvelles versions de PHP
Maintenant que PHP est devenu un langage de script populaire, il
existe de nombreuses ressources qui vous proposent des portions de
code que vous pouvez réutiliser dans vos codes. Pour la plupart,
les développeurs de PHP ont tâché d'assurer la compatibilité
ascendante, ce qui fait que de nombreux scripts écrits pour les
anciennes versions sont aussi valables pour les nouvelles versions
de PHP, idéalement sans modification. En pratique, certaines
modifications doivent être apportées.
Les deux modifications récentes les plus importantes qui affectent les anciens
codes sont :
-
Les anciennes variables $HTTP_*_VARS
(qui devaient être indiquées comme globales pour être utilisées dans une fonction
ou une méthode) sont obsolètes. Les nouveaux
tableaux superglobaux
ont été introduits en
» PHP 4.1.0. Ce sont les variables suivantes :
$_GET, $_POST,
$_FILES, $_COOKIE,
$_SERVER, $_ENV,
$_REQUEST et $_SESSION.
Les vieux tableaux $HTTP_*_VARS,
tels que $HTTP_POST_VARS existent également.
Depuis PHP 5.0.0, les tableaux prédéfinis PHP peuvent
être désactivés avec l'option de configuration register_long_arrays.
-
Les variables externes ne sont plus enregistrées dans l'environnement
par défaut. En d'autres termes, depuis PHP
» 4.2.0, la directive
PHP register_globals vaut
off par défaut dans le php.ini. La méthode recommandée
pour accéder à ces valeurs est via les tableaux superglobaux mentionnés
ci-dessus. Les anciens scripts, livres et tutoriels continuent de
considérer que cette directive devrait être à on. Lorsque
cette directive est à on, vous pouvez utiliser la variable
$id, si l'URL
http://www.example.com/foo.php?id=42
a été appelée. Quelle que soit la valeur de la directive,
$_GET['id'] est toujours disponible.
Pour plus de détails sur ces modifications, reportez-vous à la section sur les
variables pré-définies.