composer通过自动加载支持phpStan和Psalm静态分析,需配置autoload并运行dump-autoload;2. 安装PHPStan和Psalm为开发依赖,分别创建phpstan.neon和psalm.xml配置文件;3. 在composer.json中添加analyse脚本命令,实现一键执行静态分析,便于CI集成。

Composer 本身不直接执行静态分析,但可以通过配置自动加载和脚本命令,让 PHPStan 和 Psalm 正确识别项目中的类、函数和命名空间。关键在于利用 Composer 生成的自动加载机制,并在工具中正确引用。
1. 确保 Composer 自动加载可用
PHPStan 和 Psalm 都需要读取 Composer 的 autoload 信息来解析类文件路径。确保你的 composer.json 中定义了正确的自动加载规则:
- “autoload”: { “psr-4”: { “app”: “src/” } }
- 运行 composer dump-autoload 生成最新的自动加载文件
这两个工具会自动读取 vendor/autoload.php,因此只要 Composer 的 autoload 配置完整,静态分析工具就能找到类定义。
2. 安装并配置 PHPStan
推荐通过 Composer 安装 PHPStan 到开发依赖:
立即学习“PHP免费学习笔记(深入)”;
composer require --dev phpstan/phpstan
在项目根目录创建 phpstan.neon 配置文件:
parameters: level: 8 paths: - src/
如果项目使用框架或自定义类映射,可添加扫描目录:
parameters: scanDirectories: - vendor/myorg/mylib
3. 安装并配置 Psalm
同样使用 Composer 安装 Psalm:
composer require --dev vimeo/psalm
初始化配置:
./vendor/bin/psalm --init
Psalm 会自动生成 psalm.xml,它默认读取 Composer 的 autoload 设置。如有特殊路径,可在 <projectFiles> 中添加包含或排除规则。
4. 添加 Composer 脚本快捷运行
在 composer.json 中添加脚本,便于统一调用:
"scripts": { "analyse": [ "phpstan analyse", "psalm" ] }
之后可通过命令一键执行:
composer analyse
这有助于集成到 CI 流程中,保证代码提交前经过静态检查。
基本上就这些。只要 Composer 的自动加载设置正确,PHPStan 和 Psalm 就能顺利工作。