
На Хабре уже был перевод с обзором несколько месяцев назад, но недавно вышел первый релиз-кандидат 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, оба исключения, обрабатываемые в примере одинаково, можно поймать одновременно:
Читать дальше →