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 les
allocations.
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.