Начало тестирования 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();
  • Разнообразные улучшения отмечаются почти во всех стандартных расширениях;

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Начало тестирования PHP 5.4», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.