2.2. 命令行用法
命令行用法
PHPStan 的可执行文件被安装在 Composer 的 vendor/bin
(默认) 目录。
分析代码
要分析你的代码,请运行 analyse
命令。以 code 0 退出意味着没有任何错误。
vendor/bin/phpstan analyse [options] [<paths>...]
在 <paths>
的位置你可以传递一个或多个 PHP 文件或目录,路径之间用空格分隔。当在目录里查找文件时,会考虑各种 配置选项。 相对路径会基于当前工作目录解析。
--level|-l
指定要运行的 规则级别。
--configuration|-c
指定 配置文件 的路径。相对路径会基于当前工作目录解析。
--generate-baseline|-b
指定生成 基线 的文件。 例如 (--generate-baseline foo.neon
) 指定了一个路径 (foo.neon),默认路径是 phpstan-baseline.neon
。相对路径会基于当前工作目录解析。
如果你已经使用基线功能,则基线文件的路径应与已使用的路径匹配。这保证了基线不会被重复使用并且命令正常运行。
请注意在这种情况下退出码的含义会有所变化。退出码 0 表示基线生成成功且不为空。如果基线不包含任何错误,则退出代码为 1 。
默认情况下 PHPStan 不会生成空基线。但是你可以通过 --allow-empty-baseline
加 --generate-baseline
去允许生成空基线。
--autoload-file|-a
如果你的应用程序用自定义的自动加载器,你应该通过这个 CLI 选项在一个 PHP 文件中注册并设置它。相对路径会基于当前工作目录解析。
--error-format
设置一个自定义的错误格式。 了解更多的输出格式 »
--no-progress
关闭进度条。这个选项(option)不接受任何参数(argument)。
--memory-limit
指定内存限制,格式和 php.ini
接收的一样。
例如: --memory-limit 1G
--xdebug
为了PHPStan 有更好的表现,它会自动关闭 XDebug。
如果你需要调试 PHPStan 本身或者你的 自定义拓展 并想在启用 XDebug的情况下运行 PHPStan,请传这个参数。这个选项不接受任何参数。
--debug
用来代替进度条,在分析完毕之前每行输出一个分析文件。
此外,它会停在第一个内部错误发生的位置,并打印堆栈跟踪。
--ansi, --no-ansi
按照ANSI格式输出。
显示或者不显示自动检测的颜色。
--quiet|-q
屏蔽所有输出。如果您只对退出码感兴趣,这很有用。
--version|-V
不会进行代码分析,仅仅输出当前使用的 PHPStan 版本。
--help
输出可用的 CLI 选项简介,但不会有文档页里那么多的细节。
不带参数运行
你可以仅用 vendor/bin/phpstan
分析你的项目代码,如果你满足以下条件:
- 在你当前工作目录,你已具备
phpstan.neon
或者phpstan.neon.dist
文件。 - 此文件包含
paths
参数去设置一系列的分析路径。 - 此文件包含
level
参数去设置当前的规则级别。
清理结果缓存
清理当前的结果缓存,例如你在开发 PHPStan 的 自定义拓展 并且缓存太久没更新了.
vendor/bin/phpstan clear-result-cache [options]
clear-result-cache
命令和 analyse
命令共享某些选项。原因是 配置文件 可能正设置在一个自定义的临时目录 tmpDir
,而这个目录正是结果缓存保存的地方.
--configuration|-c
指定一个保存 配置文件 的目录。相对路径会基于当前工作目录解析。
--autoload-file|-a
如果你的应用程序用自定义的自动加载器, 你应该通过这个 CLI 选项在一个 PHP 文件中注册并设置它。相对路径会基于当前工作目录解析。
--memory-limit
指定内存限制,格式和 php.ini
接收的一样。
例如: --memory-limit 1G
--debug
如果 clear-result-cache
命令因为一个未捕获的异常而失败,加 --debug
参数再次运行可以看到堆栈追踪。
--quiet|-q
屏蔽所有输出。如果您只对退出码感兴趣,这很有用。
--version|-V
不清理结果缓存,仅仅输出当前使用的 PHPStan 版本。
--help
输出可用的 CLI 选项简介,但不会有文档页里那么多的细节。