1个不稳定版本
0.1.21 | 2024年4月16日 |
---|
#405 in 开发工具
120KB
3.5K SLoC
高性能PHP静态分析器,极易使用。它帮助您捕捉PHP代码中的常见错误。
安装
安装phanalist最简单的方法是使用安装脚本。
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
。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 | 圈复杂度 | 最大复杂度: 10 |
E0010 | N路径复杂度 | 最大复杂度: 200 |
E0012 | 与共享内存模型的服务兼容性 | 包含命名空间: ["App\\Service\\"], 排除命名空间: [], 重置接口: ["ResetInterface"] |
添加新规则是一个简单的任务,有关如何操作的教程在此。
文章
通过https://dev.to/denzyldick阅读一系列章节,了解项目的内部机制。这是一篇关于此项目的优秀、易于阅读的介绍。
依赖项
约10-22MB
约298K SLoC