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