Améliorations
-
Amélioration du gestionnaire de mémoire, et augmentation du niveau de mémoire
par défaut.
Le nouveau gestionnaire de mémoire consomme moins de mémoire et travaille plus
vite que sa version précédente. Il demande de la mémoire au système par gros
bloc, puis gère son stock lui-même. La valeur de memory_limit
dans php.ini est vérifiée non plus pour chaque appel à emalloc()
mais pour chaque allocation de bloc. Cela signifie que memory_limit
est bien plus précis qu'avant, car le vieux gestionnaire de mémoire ne calculait
pas toute la mémoire consommée par la bibliothèque malloc.
Grâce à cette nouvelle précision, la quantité de mémoire semble avoir augmenté,
mais ce n'est pas le cas. Pour s'adapter à cette augmentation artificielle,
la directive memory_limit a été augmentée de 8 à 16 Mo.
-
Ajout du support des constructeurs dans les interfaces, pour forcer la signature
des constructeurs via les interfaces.
Depuis PHP 5.2.0, les interfaces peuvent contenir des constructeurs.
Toutefois, si vous choisissez de déclarer un constructeur dans une
interface, les classes qui l'implémentent DOIVENT inclure un
constructeur avec une signature qui correspond à celle de l'interface
originale. Par signature, nous signifions les paramètres et les
types retournés, incluant les types de paramètres, et leur passage
par référence ou par valeur.