Nouvelles fonctionnalités
PHP 5.3.0 contient un large éventail de nouvelles fonctionnalités.
- Le support des espaces de noms (en anglais, namespaces) a été ajouté.
- Le support de Late Static Bindings a été ajouté.
- Le support des goto et étiquettes de saut (limited goto) a été ajouté.
- Le support natif des fermetures (en anglais, Closures) fonctions anonymes et fonctions lambda, a été ajouté.
- Il y a deux nouvelles méthodes magiques : __callStatic et __invoke ont été ajoutées.
- La syntaxe Nowdoc a été ajoutée, et fonctionne comme la syntaxe Heredoc mais avec des guillemets simples.
- Il est maintenant possible d'utiliser Heredoc pour initialiser des variables statiques ou des propriétés/constantes de classes.
- La syntaxe Heredoc peut maintenant être déclarée en utilisant des guillemets doubles, complétant ainsi la syntaxe Nowdoc.
- Les constantes peuvent être déclarées hors d'une classe à l'aide du mot-clé const.
- L'opérateur ternaire dispose maintenant d'un raccourci sous la forme de ?:.
- Le gestionnaire de flux HTTP considère maintenant tous les codes de 200 à 399 comme réussis.
-
L'accès dynamique aux méthodes statiques est maintenant possible :
<?php class C { public static $foo = 123; } $a = "C"; echo $a::$foo; ?>
L'exemple ci-dessus va afficher :
123
-
Les exceptions peuvent être imbriquées :
<?php class MyCustomException extends Exception {} try { throw new MyCustomException("Exceptional", 112); } catch (Exception $e) { /* Notez l'utilisation du troisième paramètre pour passer la variable $e * dans RuntimeException. */ throw new RuntimeException("Rethrowing", 911, $e); } ?>
- Un collecteur de mémoire concernant les références circulaires a été ajouté et est activé par défaut.
- La fonction mail() supporte maintenant l'historisation des emails envoyés via la directive de configuration mail.log. (Notes : ceci n'est valide que pour les emails émis avec cette fonction)