- возможность обработки исключения, вместо фатальной ошибки
- новые операторы сравнения ( <=>, ?? и другие)
- анонимные классы
- указание типа возвращаемого значения (return type declaration)
- группировка для оператора use
- работа с замыканиями (closure)
- скалярные типы аргументов функции (scalar type hints)
- опционально доступный "строгий режим" работы с типами (strict mode)
- изменена трактовка переменных и выражений
- улучшена работа с генераторами (ключевое слово yield from и другие изменения)
- конструктор класса в стиле php4 (когда имя класса совпадает с именем метод) теперь генерирует E_DEPRECATED и будет удален в php8
- изменено поведение побитовых операторов <<, >> и других
- изменено поведение функций func_get_args и func_get_arg
- функция языка unserialize принимает дополнительный аргумент
- функция языка list изменила поведение
- изменено поведение цикла foreach (например в работе с внутренним итератором)
- новый синтаксис unicode последовательностей
- возвращаемый тип void
- псевдотип iterable
- null в типизированных и возвращаемых параметрах
- возможность использовать отрицательное значение для смещения в строках
- разрешено использовать строковые ключи в конструкци
- конвертация callable выражений в замыкание
- Поддержка модификаторов видимости для констант класса
- Ловить исключения можно объединяя несколько типов исключений в один блок
- Добавлена возможность загружать расширения по имени
- Добавлена возможность перегружать абстрактные функции(Liskov)
- Запрещено number_format() возвращать -0
- Добавлена возможность конвертировать нумерованные ключи при приведении типов object/array
- Запрещено передавать null в качестве параметра для get_class()
- Вызов Count с параметром, который нельзя посчитать
- Возможность расширения типа параметра
- Добавлена возможность указывать запятую в конце группированных неймспейсов
- Реализовано семейство функций socket_getaddrinfo
- Улучшены TLS-константы
- Object typehint
- LDAP EXOP
- В ядро PHP добавлена Libsodium
- Добавлен алгоритм Argon2 в хешировании пароля
- HashContext as Object
- Добавлен отладчик PDO Prepared statements
- Добавлен отладчик PDO Prepared statements v2
- Расширенные типы строк для PDO
- Добавлены опции JSON_INVALID_UTF8_IGNORE и JSON_INVALID_UTF8_SUBSTITUTE
- Смягчение требований к синтаксису Heredoc и Nowdoc
- Поддержка конечных запятых в вызовах функций и методов
- Ссылки в
list()
- Функция
image2wbmp()
объявлена устаревшей
- Флаги
FILTER_FLAG_SCHEME_REQUIRED
и FILTER_FLAG_HOST_REQUIRED
при использовании FILTER_VALIDATE_URL
объявлены устаревшими
- Регистро-независимые константы объявлены устаревшими
- Опциональный выброс исключений при ошибках в функциях
json_encode
и json_decode
- Добавление функции
is_countable()
- Добавление функций
array_key_first()
и array_key_last()
- Типизированные свойства классов
- Предзагрузка для улучшения производительности
- Стрелочные функции для короткой записи анонимных функций
- Присваивающий оператор объединения с null (??=)
- Ковариантность/контравариантность в сигнатурах унаследованных методов
- Интерфейс внешних функций, открывающий новые возможности для разработки расширений на PHP
- Оператор распаковки в массивах
- Именованные аргументы
- Атрибуты
- Объявление свойств в конструкторе
- Union types
- Выражение Match
- Оператор Nullsafe
- Улучшенное сравнение строк и чисел
- Ошибки согласованности типов для встроенных функций