fopen('/dev/stdin/') no longer works
use fopen('php://stdin') instead
Cheers,
Scott
É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.
Évolutions incompatibles avec les versions précédentes
scott dot mcnaught at synergy8 dot com
07-Oct-2009 02:34
07-Oct-2009 02:34
Chris Bolt
16-Sep-2009 02:03
16-Sep-2009 02:03
call_user_func_array() no longer accepts null as a second parameter and calls the function. It now emits a warning and does not call the function.
