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 modifications. 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 tutoriel 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.