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 stocke 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, cette interface DOIT
inclure un constructeur avec une signature qui correspond à l'interface de base. 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.