您的位置:首页 > 游戏 > 游戏 > php质量工具系列之PHPStan

php质量工具系列之PHPStan

2024/12/26 13:27:12 来源:https://blog.csdn.net/made4971/article/details/139162913  浏览:    关键词:php质量工具系列之PHPStan

PHPStan是一个开源的PHP静态分析工具,旨在帮助开发者发现和修复PHP代码中的问题。它通过分析PHP源代码,检查变量的类型、函数调用的参数和返回值,以及其他常见错误。PHPStan提供了准确的错误报告和警告,帮助开发者在编译前发现问题,提高代码的质量和可靠性。

安装

composer global require --dev phpstan/phpstan

注意,
linux上,需要将全局composer的可执行目录加入环境变量
目录一般情况下是/tmp/composer/vendor/bin
Centos 环境变量配置

windows上,只需在环境变量path中加上composer路径,一般路径是
%APPDATA%\Composer\vendor\bin

配置

在项目的目录下新建phpstan.neon,粘贴以下内容并保存

parameters:errorFormat: checkstylelevel: 7paths:- app- config- routeexcludePaths:- app/command/Swagger.phpbootstrapFiles:- vendor/autoload.phpignoreErrors:- '#.*no value type specified in iterable type array#'- '#.*no type specified#'- '#Function .*? not found#'- '#undefined method .*?::join#'- '#undefined method .*?::group#'- '#app\\model.*has no return type specified#'- '#Call to an undefined method object::.*#'

文档解释:
errorFormat 生成报告的文件格式,支持 raw, table, checkstyle, json, junit, prettyJson, gitlab, github, teamcity,一般选择checkstyle、json、junit
level 错误报告级别 0-8 8最严格
paths 需要扫描的目录
excludePaths 需要排除的扫描目录或文件
bootstrapFiles启动时加载的文件
ignoreErrors需要忽略的错误,一般是误报类的,不过要仔细甄别,不能将真正的错误掩盖

执行

不带参

一般是用户执行

#在phpstan.neon目录下执行
phpstan analyze

带参

一般是用来自动化构建时使用

phpstan analyse -c /workpath/phpstan.neon --no-progress --error-format checkstyle --memory-limit 1G > /workpath/phpstan_result.xml

参数解释:
-c 指定phpstan的配置文件地址
–no-progress 不打印过程
–error-format checkstyle 指定输出文件格式
–memory-limit 1G 最大可用内存
将文件输出到/workpath/phpstan_result.xml

自动化构建(Jenkins)中使用

参考文章 jenkins插件之Warnings 项目配置一章中的phpstan章节

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com