PHPStan

PHP 静态分析工具
授权协议 MIT
开发语言 PHP
所属分类 开发工具、 代码管理分析/审查/优化
软件类型 开源软件
地区 不详
投 递 者 顾乐心
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

PHPStan 是一款 PHP 静态分析工具,它专注于在代码中发现错误而不实际运行它。 它甚至能在代码编写测试之前捕获整个类的错误。

PHPStan 让 PHP 更接近编译语言,这意味着在运行实际行之前可以检查代码的每一行的正确性。

使用

要开始对代码执行分析,需要在 Compose r中使用 PHPStan :

composer require --dev phpstan/phpstan

Composer 将在其 bin-dir 中安装 PHPStan 的可执行文件,默认为 vendor / bin。

分析

为了让 PHPStan 分析代码库,需使用分析命令,并将其指向正确的目录。

例如,

vendor/bin/phpstan analyse src tests

  • PHPStan:无需写测试就能找到代码中的 Bug 每当我看到开发人员从 Java 或 C# 等编译语言切换到 PHP 这样的解释语言时解放了生产力后感到很高兴。除了这些常规的执行模型(发起、处理请求和结束请求)和更短的反馈环(无需等待编译器)外,还有一个能解决开发人员日常问题的开源框架生态系统,因此,PHP 是目前来说 web 开发中最流行的语言。 但它有一个缺点。 你会在什么时候发现错误? 编

  • PHP是一种动态语言,虽然这肯定有它的好处,但它也意味着在日志中看到调用未定义方法或无效参数计数的错误并不罕见。更糟糕的是,当发生这些类型的错误时,应用程序将简单地崩溃,从而导致糟糕的用户体验和沮丧的客户。 这个问题的解决方案是静态分析。对于像Java和C#这样的语言,这不是什么新东西,它是一个内置的功能,只要编译代码就会执行。 最近出现了各种工具,允许在PHP代码上运行静态分析。仅举几例:Psa

  • 附上phpstan的git地址:https://github.com/phpstan/phpstan.git 其中对过滤规则描述: parameters: ignoreErrors: - '#Call to an undefined method [a-zA-Z0-9\\_]+::method\(\)#' - '#Call to an undefined method [a-zA-Z0-

  • 最近发现自己写的PHP代码运行结果总跟自己预想的不一样,排查时发现大多是语法错误,在运行之前错误已经种下。可能是自己粗心大意,或者说php -l检测太简单,不过的确是有一些语法错误埋藏得太深(毕竟PHP是动态语言),那么有没有办法,在代码代码正式运行之前,把语法错误全找出来呢? 这里介绍一款PHP代码静态分析工具:PHPStan,不需要运行代码,也可以对代码进行严格的语法检测,尽量将代码运行错误率

  • 执行vendor/bin/phpstan analyse -l 0  -c phpstan.neon /home/www/workspace/test 报错内容: 98/2511 [▓░░░░░░░░░░░░░░░░░░░░░░░░░░░]   3%PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried t

 相关资料
  • 问题内容: 熟悉Java世界的我一直在寻找一种静态分析工具,该工具也足够智能,可以解决它发现的问题。我使用CodePro工具运行,但是我还是Java社区的新手,不知道供应商。 根据上述标准,您可以推荐哪种工具? 问题答案: FindBugs,PMD和Checkstyle都是绝佳的选择,尤其是将它们集成到构建过程中时。 在上一家公司,我们还使用Fortify检查潜在的安全问题。我们很幸运获得了企业许

  • 我想知道是否有一个工具,它将我的代码库和一个jar文件作为输入,它将在代码库中搜索这个jar文件正在使用的任何地方,并给我输出。不应使用Eclispe IDE。(变得微不足道)。我已经搜索了一些静态代码分析工具,如PMD、Checkstyle、findbugs。但他们都没有我需要的选择。你能给我推荐一个能完成上述任务的工具吗?

  • 代码静态分析可以在不运行代码的情况下,提前检测代码。 主要可以做两点 语法检测 编码规范检测 作为开发人员,在日常编码中,难免会范一些低级错误,比如少个括号,少个逗号,使用了未定义变量等等,我们往往会使用编辑器的 lint 插件来检测此类错误。 对于我们 OpenResty 开发中,日常开发的都是 Lua 代码,所以我们可以使用 luacheck 这款静态代码检测工具来帮助我们检查,比较好的一点是

  • 本文向大家介绍thinkphp的静态缓存用法分析,包括了thinkphp的静态缓存用法分析的使用技巧和注意事项,需要的朋友参考一下 本文较为详细的分析了thinkphp的静态缓存用法。分享给大家供大家参考。具体分析如下: thinkphp里面内置了一个静态缓存功能,说静态缓存可能对我这种菜鸟而言不太好理解。其实静态缓存就是将THINKphp的某一个操作显示出来的页面生成一个HTML文件保存在设置的

  • 收集静态分析结果时,我在Jenkins从属节点上的作业失败。 相同的作业在Jenkins主节点上运行良好。我尝试使用ssh凭据或通过“执行命令”连接Jenkins,结果相同。 主服务器和从服务器使用相同的Java版本:OpenJDK Zulu 8.20.0.5-linux64。 我试图清理Maven repo、. jenkins/缓存和slave.jar-没有帮助。slave.jar是正确的文件,

  • iNalyzer允许我们查看类信息,执行运行时分析和其他一些事情。基本上它把解密应用、导出类信息这些事情自动化了,并且更好的展示了出来。我们也可以像Cycript那样挂钩运行的进程。iNalyzer由AppSec Labs开发和维护,它的官方地址在这。iNalyzer同时也已经开源了,gitub地址在这。 在用iNalyzer之前,有些依赖的软件需要先安装。请确保Graphviz 和Doxygen

  • 本文向大家介绍Java动态代理静态代理实例分析,包括了Java动态代理静态代理实例分析的使用技巧和注意事项,需要的朋友参考一下 代理模式:为其他对象提供一种代理以控制某个对象的访问。用在:在某些情况下,一个客户不想或者不能直接访问另一个对象,而代理对象可以在客户端和目标对象之前起到中介的作用,代理对象还可以完成它附加的操作。 例子:就像房东、租客、中介的关系。中介(代理对象)为房东(真实对象)出租

  • 本文向大家介绍php延迟静态绑定实例分析,包括了php延迟静态绑定实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php延迟静态绑定的方法。分享给大家供大家参考。具体分析如下: php延迟静态绑定:指类的self,不是以定义时为准,而是以计算时的运行结果为准。先看一个实例   说明: (1)子类实例化对象 $stu 调用say方法时,是在父类Human内运行的,所以,say()里的