composer本身不扫描代码,仅负责安装phpstan/ psalm等静态分析工具;需本地安装、配置phpstan.neon、显式指定paths、laravel项目还需phpstan-laravel和extension-installer。

Composer 本身不提供静态检查功能,所谓“用 Composer 中文进行代码静态检查”是个常见误解——composer 是 PHP 的依赖管理工具,不是代码分析器。你要的其实是:用 Composer 安装并管理 PHP 静态分析工具(如 phpstan、psalm、phpcs),再配合中文文档或本地化配置完成质量检查。
怎么用 Composer 安装主流 PHP 静态分析工具
所有工具都通过 composer require 安装,但分全局和项目本地两种方式。推荐项目级安装,避免版本冲突:
-
composer require --dev phpstan/phpstan:安装最新稳定版 PHPStan(推荐从 level 0 开始) -
composer require --dev vimeo/psalm:安装 Psalm,初始化需运行./vendor/bin/psalm --init -
composer require --dev squizlabs/php_codesniffer:PHPCS,配中文规则集需额外装phpcompatibility/php-compatibility
注意:--dev 很关键,否则会进生产依赖,CI 构建时可能误装;PHPStan 和 Psalm 不兼容同一项目混用,选一个深入即可。
为什么 PHPStan 的中文支持最实用
PHPStan 官方虽无中文界面,但错误信息本身是英文术语+代码上下文,国内团队普遍靠「看报错行+查中文文档」解决。它的优势在于:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 错误定位准,
phpstan analyse src/直接标出未定义属性、类型不匹配等硬伤 - 支持自定义扩展,比如加
phpstan/phpstan-phpunit就能理解$this->createMock()返回类型 - 中文社区有现成配置模板:
phpstan.neon里设level: 5+paths: [src]即可开跑
别指望它输出“变量未初始化,请检查第12行”,它只说 Access to an undefined property App\User::$name.——你需要习惯这种表达,而不是找“中文版工具”。
PHPCS 怎么配出接近中文语义的编码规范
PHPCS 默认规则(如 PSR12)是英文语境设计的,但可通过组合规则+自定义提示贴近中文开发习惯:
- 用
phpcs --standard=PSR12,Generic --encoding=utf-8 src/强制 UTF-8,避免中文注释报Invalid character - 装
phpcompatibility/php-compatibility后,phpcs --standard=PHPCompatibility能检查语法是否兼容 PHP 7.4/8.1 等国内常用版本 - 写自定义
ruleset.xml把Generic.Files.LineEndings错误级别调高,防止 Windows 换行符污染 Git
它不会告诉你“命名应使用中文拼音”,但能守住底线:缩进统一、花括号位置一致、无多余空格——这些恰恰是多人协作中最易撕扯的点。
真正卡住进度的往往不是工具装不上,而是 PHPStan 的 level 设太高导致满屏报错放弃,或者 PHPCS 规则没 exclude vendor 和 tests 目录拖慢 CI。先跑通 phpstan analyse --level=0 src/,再逐级提 level,比一上来就追求 level 8 实在得多。










