Спустя 6 лет разработки вышла первая «мажорная» версия статического анализатора PHP-кода PHPStan.
Нововведения:
- Для более лёгкого выбора правил в PHPStan существует система правил. 0 уровень соответствует самому щадящему набору правил, а 8 соответствовал самому строгому. В этом же релизе добавлен новый 9 уровень, ограничивающий использование типа
mixed, который теперь можно передавать лишь другомуmixed. - PHPStan теперь может запоминать, что функция, вызываемая второй раз, должна вернуть тот же результат.
- Аннотации
@throwsтеперь полностью учитываются, когда проверяются блокиcatchиfinally. - Добавлена поддержка определения неиспользованных закрытых свойств, методов и констант.
- Добавлена проверка типов массивов и параметров callback-функций, которые должны обрабатывать эти массивы.
- Рекурсивная проверка типов: теперь недостаточно просто указать
array<array>, надо объявить тип и для вложенного массива. - Поддержка PHPDocs-описания типов, так, к примеру, указание типов для элементов массива (
array shape) теперь производится при помощи синтаксисаarray{...}, а неarray(...).
Стоит также заметить, что модель разработки PHPStan несколько необычна: нововведения добавляются в основную ветку, но остаются выключенными до следующего значительного релиза.
>>> Подробности









