Другие улучшения


  • Улучшено управление памятью и увеличен лимит памяти по умолчанию. Новый менеджер памяти выделяет меньше памяти и работает быстрее, чем предыдущая реализация. Он запрашивает память большими блоками и затем управляет кучей сам. Значение memory_limit в php.ini проверяется не при каждом вызове emalloc(), как раньше, а только при действительном запросе памяти у системы. Это означает, что memory_limit гораздо более точен, чем раньше, так как старый менеджер памяти не учитывал дополнительные затраты библиотеки malloc. Благодаря новому механизму может показаться, что используется больше памяти, тогда как на самом деле это не так. Чтобы скомпенсировать это кажущееся увеличение, значение memory_limit также увеличено с 8 до 16 мегабайт.
  • Добавлена поддержка конструкторов в интерфейсах. Это позволяет проверять сигнатуру конструкторов в реализациях интерфейса. Начиная с PHP 5.2.0, интерфейсы могут содержать конструкторы. Если вы объявляете конструктор в интерфейсе, каждая его реализация должна иметь конструктор с той же сигнатурой, что и конструктор интерфейса. Под "сигнатурой" мы понимаем возвращаемый тип и набор параметров, включая указание типов и передачу параметров по ссылке или значению.