Доступна для тестирования первая альфа-версия новой значительной ветки языка программирования PHP 7.1. Релиз ожидается в ноябре.
Ключевые улучшения:
- Добавлен тип возвращаемого значения void, указывающий на то, что функция не вернула значение;
- При указании смещения внутри строки теперь можно указывать отрицательные значения, позиция в строке для которых будет рассчитана относительно конца строки. Например, для строки ‘abcdef’ $str[-2] вернёт «e»;
- Добавлен вариант конструкции list(), в которой могут задаваться ключи (например: «list(1 = $oneBit, 2 = $twoBit, 3 = $threeBit) = $powersOfTwo»);
- Добавлено выражение «[] =», которое выступает альтернативой конструкции «list() =». Например, вместо «list($a, $b, $c) = array(1, 2, 3)» теперь можно указать «[$a, $b, $c] = [1, 2, 3]»;
- Реализована система вывода ошибок и предупреждений в случае использования в математических выражениях строк, не преобразуемых в число. Например, «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»;
- Возможность обработки нескольких типов исключений в одном выражении catch;
- Поддержка определения видимости для констант внутри класса. Константы теперь могут определяться с флагами public, private и protected;
- Возможность использования знака вопроса для пометки типов, которые могут принимать значение null.