Начало тестирования PHP 5.4
29 июня 2011 года
После двух лет разработки началось альфа-тестирование новой ветки интерпретатора языка программирования PHP 5.4, в которой добавлены новые языковые конструкции и удалены устаревшие возможности. Ветка 5.4 не обеспечивает полную совместимость на уровне API и конфигурации, поэтому может потребоваться модификация приложений и серверных настроек (например, удалена поддержка Safe mode и register_globals). Представленная версия позиционируется только для начального тестирования и ознакомления с новыми возможностями. Разработка ветки PHP 5.4 еще не завершена, а API не стабилизирован. Через 4 недели планируется второй альфа-выпуск.
Разработка PHP 5.4 ведется в рамках нового регламента подготовки релизов, подразумевающего плановую подготовку выпусков через фиксированные промежутки времени с оформлением тестовых версий в процессе разработки. В соответствии с новым регламентом, значительные релизы PHP, содержащие новшества, будут выходить раз в год, а время поддержки новой ветки составит три года. Более подробно с особенностями нового регламента можно познакомиться в данном обзоре.
Из изменений можно отметить:
- Возможности, удаленные по причине их устаревания:
- Прекращение поддержки всех опций, связанных с режимом "Safe mode";
- Прекращение поддержки синтаксиса "break/continue $var"
- Удаление конфигурационных опций register_globals, define_syslog_variables, highlight.bg, session.bug_compat42, session.bug_compat_warn, y2k_compliance, allow_call_time_pass_reference и register_long_arrays;
- Удаление функций session_is_regisitered(), session_registered() и session_unregister().
- Увеличение производительности и оптимизация потребления памяти в Zend Engine. Работа по оптимизации проведена большая, улучшений очень много и они затрагивают различные части внутренностей PHP. Например, в тесте bench.php производительность PHP возросла на 19%, а в тесте micro_bench.php на 26%. При оценке скорости выполнения реальных приложений (c использованием акселератора APC) отмечается ускорение работы CMS typo3 на 6%, WordPress на 8%, drupal на 2%, xoops на 14% и scrum на 13%;
- Поддержка языковой конструкции "Traits", предназначенной для организации повторного использования объектов без изменений существующих объектов;
- Поддержка разыменования массивов (например, возвращающую массив функцию можно использовать как "func()['key']");
- Интеграция поддержки системы динамической трассировки DTrace;
- Перемещение встроенного расширения ext/sqlite во внешний каталог PECL (изменение не касается sqlite3, поддержка которого будет по прежнему встроена);
- Для сборки PHP 5.4 требуется установка пакета autoconf 2.59 или более новой версии (рекомендуется Autoconf 2.60+). Расширены возможности сборки для unix-подобных систем, например, теперь можно одновременно собрать несколько бинарных SAPI из PHP и внешних SAPI-модулей;
- Увеличена производительность парсинга запросов в FastCGI;
- В $_SERVER['REQUEST_TIME'] теперь передается время с указанием микросекунд;
- Изменено значение по умолчанию для опции "default_charset", вместо ISO-8859-1 теперь указано UTF-8;
- По умолчанию активирован режим поддержки многобайтовых кодировок (php больше не нужно специально собирать с опцией "--enable-zend-multibyte"). Для выключения поддержки в php.ini добавлена директива zend.multibyte;
- Возвращена поддержка замыкания "$this";
- Добавлена возможность косвенного вызова методов через массив;
- Добавлена поддержка использования ссылок на объекты при рекурсивном вызове serialize();
- Добавлены новые функции: http_response_code(), header_register_callback();
- Увеличена производительность функции unserialize();
- Добавлена поддержка "stream metadata API: в класс stream_metadata();
- Разнообразные улучшения отмечаются почти во всех стандартных расширениях;
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.