2.1. 入门
入门
PHPStan 要求 PHP >= 7.2, 你必须在 PHP 7.x 的环境下运行它,但实际代码不需要使用 PHP 7.x 特性。(在 PHP 5.6 和更早版本写下的代码都可以不大改地运行在 7.x 版本。)
PHPStan 最适用于现代面向对象的代码。你的代码越是强类型的,PHPStan 越能收集更多的信息去工作。
有着正确注释和类型提示的代码 (类属性、函数和方法参数、返回类型) 不仅能帮助静态分析工具,还能帮助其他使用这段代码的人理解它。
安装
为了开始分析你的代码,需要用 Composer 安装 PHPStan:
composer require --dev phpstan/phpstan
Composer 会在 vendor/bin
(默认) 目录安装它的可执行文件。
你也可以下载使用 最新版本的 PHAR 。 但是不用 Composer,你将无法使用和安装 PHPStan 扩展。
如果你想在 Docker 中使用 PHPStan,点这里。
第一次运行
为了让 PHPStan 分析你的代码库,你必须使用 analyse
命令并指向正确的目录。
比如你的类在 src
和 tests
目录,你可以这样运行 PHPStan:
vendor/bin/phpstan analyse src tests
你应该只分析你自己写的代码。不需要去分析第三方的
vendor
目录,因为解决第三方的所有错误,并非你应该做的。是的, PHPStan 需要了解你代码所使用的所有 classes、interfaces、traits,但是这是通过 定位符号 实现的,而不是在分析中引入那些文件。
PHPStan 可能会发现一些错误,但是不用担心,你的代码可能没问题。第一次运行发现的错误往往是:
- 传递给函数多余的参数 (例如,函数需要2个参数,传了3个)
- 传递给 print/sprintf 函数多余的参数 (例如,格式字符串包含1个占位符,给了2个去替换)
- Dead Code 中的明显错误。
- 未知的符号 - 例如 “class not found”。在 定位符号 查看更多详情。
默认情况下,PHPStan 只做最基本的检查。去 规则级别 了解更多关于如何开启严格检查。
在 配置参考 了解所有的配置项。
推荐文章: