Персональный статический анализатор для PHP, который чрезвычайно прост в использовании. Это помогает вам поймать общие ошибки в вашем коде PHP.
Самый простой способ установки фаналиста - использовать сценарий установки.
curl --proto ' =https ' --tlsv1.2 -sSf https://raw.githubusercontent.com/denzyldick/phanalist/main/bin/init.sh | shОн автоматически загрузит исполняемый файл для вашей платформы:
$ ~ /phanalist -V
phanalist 1.0.0Есть также несколько других параметров установки.
Чтобы проанализировать источники проекта, вам просто нужно запустить phanalist
~ /phanalist
На первом запуске phanalist.yaml будет создан с конфигурациями по умолчанию. И это будет повторно использовано во всех следующих пробегах.
Есть также несколько дополнительных параметров:
config : Путь к файлу конфигурации, ./phanalist.yaml - значение по умолчанию.src : Путь к источникам проекта, ./src - значение по умолчанию.output-format : формат, используемый для вывода результатов. Возможные параметры - text (по умолчанию), json и sarif .summary-only : вывод только количество найденных нарушений для каждого правила.quiet : подавляет все выходные данные.Возможные варианты:
enabled_rules содержит список правил для использования. Все правила будут использоваться, если этот список пуст.disable_rules содержит список правил, чтобы игнорировать.rules , специфичные для правила варианты.Файл конфигурации по умолчанию:
enabled_rules : []
disable_rules : []
rules :
E0007 :
check_constructor : true
max_parameters : 5
E0009 :
max_complexity : 10
E0010 :
max_paths : 200
E0012 :
include_namespaces :
- " App \ Service \ "
- " App \ Controller \ "
exclude_namespaces : []Доступны следующие правила:
| Код | Имя | Параметры по умолчанию |
|---|---|---|
| E0000 | Пример правила | |
| E0001 | Открытие позиции тега | |
| E0002 | Пустой улов | |
| E0003 | Метод модификаторы | |
| E0004 | Постоянные прописны | |
| E0005 | Капитальное название класса | |
| E0006 | Модификаторы недвижимости | |
| E0007 | Параметры метода | check_constructor: true, max_parameters: 5 |
| E0008 | Подпись типа возврата | |
| E0009 | Цикломатическая сложность | max_complexity: 10 |
| E0010 | Сложность NPATH | max_complexity: 200 |
| E0011 | Обнаружение символа подавления ошибок (@) | |
| E0012 | Совместимость услуг с моделью общей памяти | include_namespaces: ["app service "], exklide_namespaces: [], reset_interfaces: ["resetinterface"] |
| E0013 | Частный метод не используется |
Добавление нового правила - это простая задача, и этот урок объясняет, как это сделать.
Прочитайте серию глав о https://dev.to/denzyldick, чтобы понять внутренние проекта. Это отличное, простое для чтения введение в этот проект.