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 命令并指向正确的目录。

比如你的类在 srctests 目录,你可以这样运行 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 只做最基本的检查。去 规则级别 了解更多关于如何开启严格检查。

配置参考 了解所有的配置项。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~