The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз языка программирования PHP 5.6.0"
Отправлено opennews, 28-Авг-14 22:37 
Представлен (http://php.net/index.php#id2014-08-28-1) новый значительный релиз языка программирования PHP 5.6.0 (http://php.net/). В версии PHP 5.6.0 добавлены константные скалярные выражения, функции с переменным числом аргументов, импорт функций и констант при помощи оператора use, оператор возведения в степень, интерактивный отладчик phpdbg. Следующим шагом развития языка PHP станет воплощение идей по существенному увеличению производительности движка Zend Engine и изменению методов работы с памятью, развиваемых (https://www.opennet.ru/opennews/art.shtml?num=39724) в рамках экспериментальной ветки PHPNG.

Ключевые новшества (http://ru2.php.net/migration56.new-features):

-  Константные скалярные выражения (constant scalar expressions), допускающие применение операций над числовыми или строковыми литералами и константами в контексте, предусмотренном для статических значений, таком как определение констант или значений по умолчанию аргументов функций. Например, "const ONE = 1; const TWO = ONE + 2;"

-  Функции с переменным числом аргументов (Variadic function (http://en.wikipedia.org/wiki/Variadic_functions)), при определении которых явно не указывается число передаваемых аргументов. Например, функцию "function f($req, $opt = null, ...$params)" можно вызывать как f(1, 2), f(1, 2, 3, 4, 5) и т.п., где $req является обязательным аргументом, $opt - опциональным, а все дополнительные аргументы передаются в форме массива $params.

-  Распаковка массивов или перечисляемых объектов в вид набора аргументов при вызове функции, используя оператор "...". Например, "$operators = [2, 3]; echo add(1, ...$operators);", где add является функцией трёх аргументов;

-  Возможность использования оператора use для импорта функций и констант, в дополнение к импорту классов. Например, "namespace { use function Name\Space\f;...." для импорта в текущее пространство имён функции f, определённой в пространстве имён Name\Space;

-  Новый интерактивный отладчик phpdbg (http://phpdbg.com/docs), выполненный в форме модуля SAPI;


-  Возможность повторного использования ввода php://input, который теперь может быть переоткрыт и прочитан более одного раза. Изменение также привело к значительному сокращению потребления памяти при обработке данных, переданных через метод POST. Переменная $HTTP_RAW_POST_DATA причислена к устаревшим возможностям;


-  Для объектов GMP (http://docs.php.net/manual/en/book.gmp.php) обеспечена возможность перегрузки оператора и приведения скалярных типов;

-  Поддержка загрузки файлов размером больше 2GiB;

-  Добавлен новый  математический оператор "**", применяемый для возведения в степень. Например, "$a ** $b" - возвести $a в степень $b;


-  Улучшение поддержки SSL/TLS. В частности, в расширении OpenSSL добавлена возможность извлечения и проверки подписи (fingerprint) сертификатов. Для извлечения подписи из сертификатов X.509 добавлена функция openssl_x509_fingerprint(). Для SSL-потоков добавлены две контекстные опции: capture_peer_cert  для захвата сертификата X.509 и peer_fingerprint для проверки его соответствия заданной подписи. Кроме того, добавлена поддержка выбора криптографических методов, таких как  SSLv3 и TLS, через установку контекстной опции crypto_method,  поддерживающей значения  STREAM_CRYPTO_METHOD_SSLv2_CLIENT, STREAM_CRYPTO_METHOD_SSLv3_CLIENT, STREAM_CRYPTO_METHOD_SSLv23_CLIENT (по умолчанию) и STREAM_CRYPTO_METHOD_TLS_CLIENT;

-  Поддержка алгоритма хэширования gost-crypto;


-  Добавлен новый скрытый метод __debugInfo(), предоставляющий дополнительную отладочную информацию для объекта;
-  В FPM SAPI реализована опция конфигурации  clear_env для очистки переменных окружения;
-  Новые функции hash_equals( (http://ru2.php.net/manual/en/function.hash-equals.php)) и opcache_is_script_cached();
-  Упрощена обработка кодировки на выходе через использование в качестве кодировки по умолчанию значения default_charset;
-  В расширение  mysqlnd добавлен новый метод извлечения данных, примечательный меньшим потреблением памяти за счёт большего числа операций копирования блоков памяти;
-  В расширение PCRE добавлена поддержка маркеров (http://grokbase.com/t/php/php-internals/142wrqvs7p/add-suppo...
-  В расширение Pgsql  добавлена поддержка выполнения запросов и соединений в асинхронном режиме;


-  Изменения, нарушающие совместимость:


-  Ключи массива не могут быть перезаписаны при определении массива в качестве свойства класса с использованием литерала array;
-  Обеспечена более строгая проверка синтаксиса JSON в функции json_decode();
-  Обвязки для потоков теперь по умолчанию выполняют верификацию  сертификата и имени хоста пира при использовании  SSL/TLS;
-  Все ресурсы GMP теперь являются объектами;
-  Расширение mcrypt (http://ru2.php.net/manual/en/book.mcrypt.php) теперь требует указания корректных ключей и векторов инициализации.

URL: http://php.net/index.php#id2014-08-28-1
Новость: https://www.opennet.ru/opennews/art.shtml?num=40480

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру