Релиз языка программирования PHP 7.0

Суббота, 12 Дек 2015 23:54

Официально релиз языка программирования ,
вобравший в себя изменения, подготовленные в рамках проекта PHPNG. Новая ветка отличающейся кардинальной переработкой некоторых подсистем, значительной порцией и наличием , нарушающих совместимость. Скачок в номере версии не только подчёркивает значительность релиза, но и связывается с переходом к новой нумерации выпусков, при которой разработчики избавились от лишней цифры в значительных релизах (7.0 вместо 5.7.0).

Ключевые в PHP 7:

  • Существенное увеличение производительности, благодаря новых методов организации работы с памятью и переходу на новые структуры хранения данных. В некоторых тестах PHP 7 до двух раз быстрее PHP 5.6;
  • Целостная поддержка 64-разрядных типов на 64-разрядных системах. В том числе возможность использования строк, размером до 2^31 байт, поддержка 64-разрядных значений integer при работе в Windows, поддержка больших файлов в 64-разрядных сборках.
  • Возможность обработки через исключения многих ошибок, ранее приводивших к принудительному завершению работы;
  • Новый оператор ««, позволяющий определить альтернативное значение, если не определён первичный объект присвоения. Например, для присвоения пустой строки, если не заполнен элемент ассоциативного массива теперь вместо isset($_GET[‘mykey’]) ? $_GET[‘mykey’] : » можно указать $_GET[‘mykey’] ?? «»;
  • Возможность явного скалярных типов int, float, string и bool для аргументов и значений функций (например, «function foo(int $abc): int»).
  • Режим жесткой проверки типов, включаемый директивой «declare(strict_types=1)», при котором несоответствие типа передаваемого функции или возвращаемого функцией значения будет приводить к ошибке.
  • Новый оператор комбинированного сравнения «» с реализацией поведения, похожего на strcmp() и version_compare(), но через использование типового синтаксиса операторов сравнения. В частности, новый оператор позволяет не только проверить идентичность операндов, но и оценить какой из них больше другого (0 — равны, 1 — левый больше, -1 — правый больше);
  • Поддержка анонимных классов;
  • Поддержка в операторе use (например, use Doctrine\Common\Collections\Expr\{ Comparison, Value, CompositeExpression };);
  • Новый метод Closure::call();
  • Дополнительный синтакс для встраивания unicode-строк \u{xxxxxx};
  • Поддержка задания массивов констант в операторе define();
  • использования зарезервированных ключевых слов в новых контекстах (например, можно определить функцию forEach и она не будет пересекаться с оператором foreach);
  • Новый синтаксис «yield from выражение» для фукциями-генераторами операций в перемещаемые объекты и массивы.
  • В дополнение openssl добавлена поддержка TLS-расширения (Application-Layer Protocol Negotiation) для согласования протоколов уровня приложений, используемых для обеспечения защищённого соединения. Используется в SPDY и HTTP/2;
  • синтаксиса определения переменных и переход к использованию (Abstract Syntax Tree). Изменение некоторой редкоиспользуемой семантики комбинирования переменных (например, $foo->$bar[‘baz’] теперь интерпретируется как ($foo->$bar)[‘baz’], а не $foo->{$bar[‘baz’]}).
  • поддержки конструктуров в стиле PHP 4, в которых имя конструктора совпадает с именем класса. Также прекращена поддержка статических вызовов нестатических методов;
  • Прекращение поддержки старых и неподдерживаемых вызовов SAPI и расширений:
    sapi/aolserver, sapi/apache
    sapi/apache_hooks,
    sapi/apache2filter,
    sapi/caudium,
    sapi/continuity,
    sapi/isapi,
    sapi/milter,
    sapi/nsapi,
    sapi/phttpd,
    sapi/pi3web,
    sapi/roxen ,
    sapi/thttpd,
    sapi/tux,
    sapi/webjames,
    ext/mssql и
    ext/sybase_ct;


Вы можете оставить отзыв. Пинг сейчас закрыт.
Теги: ,

Один комментарий на «Релиз языка программирования PHP 7.0»

  1. Александр пишет:

    13 Дек 2016 в 17:40

    Спасибо за полезную и интересную информацию!

Ваш отзыв