Состоялся релиз PHP 5.4.0. Новшества и особенности новой версии PHP

С момента выпуска предыдущей мажорной версии языка программирования PHP 5.3 прошло почти три года, и вот с приходом весны нам представлен релиз PHP 5.4.0, который содержит множество новшеств, улучшений и исправлений багов.

Появление PHP 5.4.0 конечно же не означает, что все серверы тотально и незамедлительно станут обновляться до новой версии, но вебмастерам стоит ознакомиться с нововведениями и ограничениями PHP 5.4, чтобы заранее оценить степень необходимости или отказа для перевода своих веб-ресурсов на новую версию PHP, или даже упредить либо спрогнозировать вероятность появления потенциальных проблем, которые могут возникнуть в будущем.

Релиз PHP 5.4.0. Новшества и особенности новой версии PHP


Стоит заметить, что начиная с новой версии PHP 5.4 очередные значимые релизы теперь будут выходить по плану, с периодичностью раз в год, и новая ветка будет поддерживаться в течении трех лет.

Кроме того, серия PHP 5.4 будет последней, которая еще поддерживает Windows XP и Windows 2003. Бинарных пакетов для упомянутых версий Windows после PHP 4.5 больше уже выпускаться не будет.

Итак, приступим к знакомству с характеристиками релиза PHP 5.4.0

Ключевые особенности PHP 5.4.0

  • реализована поддержка конструкции «Traits», которая позволяет использовать объекты повторного, не изменяя при этом существующие объекты;
  • улучшена производительность и уменьшено потребление памяти;
  • Увеличена производительность парсинга запросов в FastCGI;
  • добавлен сокращенный синтаксис для массивов, например как: $a = [1, 2, 3, 4]; $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];
  • добавлена возможность разыменование массивов, такая как foo()[0];
  • поддерживается замыкание $this;
  • сокращение «=» теперь всегда доступно, независимо от опции short_open_tag в конфиг-файле INI
  • добавлена возможность обращения к членам классов с созданием отдельного экземпляра класса, например (new Foo)->bar();
  • включена поддержка синтаксиса Class::{expr}();
  • добавлена поддержка двоичного формата определения данных, как например 0b001001101;
  • улучшен парсинг сообщений об ошибках и несовместимости аргументов;
  • во всех сборках PHP теперь по умолчанию активирован режим поддержки мультибайтовых кодировок;
  • расширение cессии теперь может отслеживать прогресс загрузки файлов;
  • встроен web-сервер для CLI SAPI, для использования на стадиях разработки и тестирования;
  • встроенное расширение ext/sqlite перемещено теперь во внешний каталог PECL;
  • улучшен механизм использования памяти движком Zend Engine;
  • добавлены новые хэш-функции joaat, fnv132, fnv164;

Изменения, влияющие на совместимость с предыдущими версиями PHP

  • поддержка «register_globals», «magic_quotes» и «safe_mode» больше не осуществляется;
  • синтаксис «break/continue $var» больше не поддерживается;
  • опция «allow_call_time_pass_reference» удалена из файла конфигурации INI;
  • в поставляемых php.ini файлах в опции «default_charset» теперь установлена кодировка «UTF-8», но если эта опция отсутствует, то по прежнему в значении используется пустая строка ("");
  • алгоритм распознавания часового пояса изъят, и теперь нужно явно указывать часовой пояс, иначе будет используется «UTC»;

С полным перечнем изменений и нововведений в PHP 5.4.0 можно ознакомится на php.net

Метки: ,
Другие статьи похожей тематики:

Поделитесь материалом с другими, воспользуйтесь этими кнопками:
Получать обновления и новые материалы блога по E-mail

2 комментария к “Состоялся релиз PHP 5.4.0. Новшества и особенности новой версии PHP”

  1. Serg:

    Зря они убрали «safe_mode», мой хостер никогда не обновится до 5.4, ибо боятся, что пользователи начнуть sh-скрипты запускать

    Ответить
    • Ну что же, придется как-то по другому выкручиваться хостерам, хватит уже халявничать, пора и мозгами пошевелить :)
      Как альтернативу к safe_mode можно ограничить скрипты более жестким методом в httpd.conf, например как
      php_admin_value open_basedir /docroot
      и в php.ini например ограничить доступ к функциям
      disable_functions = readfile,system

      Ответить

Оставить комментарий

Подписаться на обновления блога 4remind.ru по RSS
Новости блога в социальных сетях

="4remind.ru