�volutions incompatibles avec les versions pr�c�dentes

M�me si l'essentiel du code PHP 5 va fonctionner sans modification, il faut faire attention aux situations suivantes, qui sont incompatibles avec les versions pr�c�dentes :

  • L'API interne d'analyse des param�tres a �t� appliqu�e � toute les extensions qui sont livr�es avec PHP 5.3. Cette API retourne NULL si des param�tres incompatibles sont pass�s � la fonction. Il existe quelques exceptions, comme la fonction get_class() qui va retourner FALSE en cas d'erreur.
  • clearstatcache() ne vide pas le cache de chemins de la fonction realpath() par d�faut.
  • realpath() est maintenant ind�pendant du syst�me, et fonctionne sur toutes les plate-formes.
  • Les fonctions call_user_func() et similaires propages la variable $this, m�me si la fonction appelante est la classe parente.
  • Les fonctions de tableaux : natsort(), natcasesort(), usort(), uasort(), uksort(), array_flip() et array_unique() n'acceptent plus les objets pass�s comme arguments. Si vous avez besoin d'acc�der � leurs propri�t�s comme dans un tableau, il faudra commencer par transtyper les objets en tableau.
  • Le comportement des fonctions qui ont des param�tres par r�f�rence mais sont pass�s par valeur a chang�. Alors que la fonction acceptait des arguments par valeur, une alerte est maintenant �mise, et tous les param�tres par r�f�rence sont mis � NULL.
  • La nouvelle biblioth�que mysqlnd impose l'utilisation du nouveau format de mot de passe de MySQL 4.1 (et plus r�cent). L'utilisation du vieux format de 16 octets fait que mysql_connect() produit le message d'erreur suivant : "mysqlnd cannot connect to MySQL 4.1+ using old authentication".
  • Le caract�re / final a �t� supprim� des classes SplFileInfo et des autres classes de dossier similaires.
  • La fonction magique __toString n'accepte plus d'arguments.
  • Les m�thodes magiques __get, __set, __isset, __unset, __call, doivent toujours �tre publiques, et ne peuvent plus �tre statiques. La signature des m�thodes est v�rifi�es � la compilation.
  • La m�thode magique __call est appel�e en cas d'acc�s � une m�thode priv�e ou prot�g�e.

Les mots-cl� suivant sont maintenant r�serv�s, et ne peuvent plus �tre utilis�s dans les noms de fonctions, de classes, etc.