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: checkstyle
    level: 7
    paths:
        - app
        - config
        - route
    excludePaths:
        - app/command/Swagger.php
    bootstrapFiles:
        - vendor/autoload.php
    ignoreErrors:
        - '#.*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章节

转载请保留出处,都看到这里了,点个赞再走吧

PHP质量工具系列

PHP/JS质量工具,安全工具 总结
TOP 6 PHP代码质量工具
PHP质量工具系列之php-depend
PHP质量工具系列之phpmd
PHP质量工具系列之phpcpd
PHP质量工具系列之phploc
PHP质量工具系列之paslm
PHP质量工具系列之phpstan
PHP质量工具系列之Owasp dependency-check
PHP质量工具系列之php_codesniffer
PHP质量工具系列之phpunit
PHP质量工具系列之xhprof
SBOM生成之CycloneDX

CI/CD之Jenkins插件使用系列

jenkins插件之Jdepend
jenkins插件之plot
jenkins插件之dependency-check
jenkins插件之Warnings
jenkins插件之xunit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值