На Хабре уже был перевод с обзором несколько месяцев назад, но недавно вышел первый релиз-кандидат PHP 7.1, а значит никаких существенных изменений больше не будет и можно сказать, какие точно изменения будут в релизе. Я решил немного оживить сухой “changelog” своим вольным переводом изменений, которые принесет нам новая минорная версия 7.х ветки.
Хочу узнать
Ниже приведены основные изменения, привнесенные
PHP 7.1
. Для получения полного списка утвержденных и обсуждаемых на текущий момент изменений проверьте официальный PHP RFC.
- Перехват нескольких типов исключений за раз
- Поддержка
Curl HTTP/2 server push
- Области видимости для констант классов
- Возвращаемый тип
void
- Единое поведение строковых функций
- Поддержка строковых параметров в функции
list()
и новый синтаксис c []
- Выброс предупреждения при невалидных строках в арифметике
- Объявление устаревшим
mcrypt()
и его последующее удаление
Перехват нескольких типов исключений за раз
В некоторых случаях мы обрабатываем различные исключения одинаково и нет возможности унаследовать их от общего предка, что приводит к дублированию кода. Например:
try {
// to do something
} catch (MyException $e) {
// Handle this exception
} catch (AnotherException $e) {
// Handle this in the same way as MyException
} catch (Exception $e) {
// Handle this in a different way
}
В PHP 7.1, оба исключения, обрабатываемые в примере одинаково, можно поймать одновременно:
Читать дальше →