【问题标题】:Getting PHP lint / PhpStorm inspect errors every day from command line每天从命令行获取 PHP lint / PhpStorm 检查错误
【发布时间】:2021-01-20 21:21:27
【问题描述】:

每天尝试从命令行运行某种形式的 PHP linting。

我已经尝试过 SonarLint - 在 PhpStorm 中很可爱,但遗憾的是他们显然已经停止支持命令行命令。

我尝试获取 PHPLint 和 php -l,但我不是 php 专家,并且正在为 composer 文件而苦苦挣扎。

最后我查看了 PhpStorm 检查 - 我可以让它创建一个包含 99 种错误类型的目录,但我必须编写一个工具来 grep 文件并查看 /count 错误、警告看看它们是否每天都在上升/下降,或者在 IDE 中检查,这两者都不是特别吸引人。

必须有一个工具可以产生一个很好的简单输出,我可以将其合并为构建管道的一部分,每天或每次构建后绘制错误/警告图形?

【问题讨论】:

  • PHPStan, Psalm -- 集成将在下一个主要的 PhpStorm 版本中提供(2020.3 -- 如果您现在想尝试,目前处于 EAP 阶段:blog.jetbrains.com/phpstorm/2020/10/phpstorm-2020-3-eap-2)。另外:Phan、NoVerify 等。您可以在 CLI 中运行它们中的任何一个/使其成为构建过程的一部分。
  • "最后我查看了 PhpStorm 检查 -... 但是我必须编写一个工具来 grep 文件并查看 /count 错误、警告以查看它们是否每天向上/向下” 您可以将结果保存到 JSON/XML format 中,使用 XML/JSON 库更容易解析(与纯文本输出相比)。
  • JetBrains 自己使用它(但他们使用TeamCity——他们自己的 CI 工具;所以他们有一些开箱即用的适当集成)。也许看看github.com/bentolor/idea-cli-inspector——它可以与 IntelliJ (Java) 一起使用.. 但也可以与 PHP 结果一起使用。另外:christianscheb.de/archives/808,dzone.com/articles/running-intellij-idea-in-jenkins
  • @LazyOne 是的,我已经找到了 XML 输出,这让事情变得容易多了,谢谢。也感谢 idea-cli-inspector 的发现,将进行调查。

标签: php phpstorm static-analysis sonarlint phplint


【解决方案1】:

试试PHPStan(PHP静态分析工具),它支持CLI执行。这也与composer 一起安装(这几乎是默认设置);大多数 PHP IDE 支持 composer 开箱即用。除非手动将它们放入包含路径中(这不会为您提供自动加载功能),否则您可能不会发现很多不会像这样安装的软件包。

【讨论】:

  • this just won't give you the auto-loader capabilities 这不是真的。
  • 准确地说,除非自动加载器的类列表正在更新,否则它不会自动加载(如果没有composer,这可能仍然有效,但是当手动添加新包时,他们赢了'不被拿起)。
【解决方案2】:

您实际上可以从命令行运行 PhpStorm 检查:https://www.jetbrains.com/help/phpstorm/command-line-code-inspector.html

【讨论】:

  • 是的,我在我的问题中说过。
猜你喜欢
  • 1970-01-01
  • 2016-03-30
  • 1970-01-01
  • 2022-01-27
  • 1970-01-01
  • 1970-01-01
  • 2014-02-16
  • 2017-10-31
  • 2016-07-02
相关资源
最近更新 更多