The OpenNET Project / Index page

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



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

Исходное сообщение
"Релиз языка программирования PHP 7.1"
Отправлено opennews, 02-Дек-16 09:18 
Официально представлен (http://php.net/index.php#id2016-12-01-3) релиз языка программирования PHP 7.1 (http://php.net/). Новая ветка отличающейся значительной порцией новых возможностей (http://php.net/manual/en/migration71.new-features.php) и наличием изменений (http://php.net/manual/en/migration71.incompatible.php), нарушающих совместимость.


Ключевые улучшения (http://php.net/manual/en/migration71.php) в PHP 7.1:

-  Возможность (https://wiki.php.net/rfc/nullable_types) использования типов, которые могут принимать значение null. Для пометки таких типов применяется знак вопроса, например, определив функцию "function f(?callable $p) {}" её можно вызвать с аргументом, имеющим значение null;

- Добавлен (https://wiki.php.net/rfc/void_return_type) тип возвращаемого значения void, указывающий на то, что функция не вернула значение;-  Добавлен псевдо-тип iterable, позволяющий определять параметры функций, которые могут принимать значения различных перечисляемых типов, допустимых для перебора в цикле, таких как массивы и объекты  Traversable;

-  При указании смещения внутри строки теперь можно указывать (https://wiki.php.net/rfc/negative-string-offsets) отрицательные значения, позиция в строке для которых будет рассчитана относительно конца строки. Например, для строки 'abcdef' $str[-2]  вернёт "e";


-  Добавлен (https://wiki.php.net/rfc/list_keys) вариант конструкции list(), в которой могут задаваться ключи. Например: "list(1 => $oneBit, 2 => $twoBit, 3 => $threeBit) = $powersOfTwo";


-  Добавлено (https://wiki.php.net/rfc/short_list_syntax) выражение "[] =", которое выступает альтернативой конструкции "list() =". Например, вместо "list($a, $b, $c) = array(1, 2, 3)" теперь можно указать "[$a, $b, $c] = [1, 2, 3]";

-  Реализована (https://wiki.php.net/rfc/invalid_strings_in_arithmetic) система вывода ошибок и предупреждений в случае использования в математических выражениях строк, не преобразуемых в число. Например, "10 apples" + "5 pears" приведёт к выводу ошибки "Notice: A non well formed numeric string encountered in example.php on line 3", а 5 * "orange" к "Warning: A non-numeric string encountered in example.php on line 3";


-  Возможность (https://wiki.php.net/rfc/multiple-catch) обработки нескольких типов исключений в одном выражении catch;


-  Поддержка (https://wiki.php.net/rfc/class_const_visibility) определения видимости для констант внутри класса. Константы теперь могут определяться с флагами public, private и protected;


-  Поддержка асинхронной обработки сигналов (https://wiki.php.net/rfc/async_signals) в  ext/pcntl и поддержка дополнительного контекста (https://wiki.php.net/rfc/additional-context-in-pcntl-signal-...) в  обработчике pcntl_signal.

URL: http://php.net/index.php#id2016-12-01-3
Новость: http://www.opennet.ru/opennews/art.shtml?num=45604

 

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



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

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