Psalm是一个用于PHP的开源静态分析工具,可以帮助识别代码中明显的和难以识别的bug。它采用先进的静态分析算法,可以理解复杂的PHP代码结构,包括类、接口、函数调用以及更高级的概念如Trait和Anonymous Functions。它还支持PHPDoc注释,通过分析这些注释,Psalm能够推断出代码中的类型信息,从而提供精确的错误报告。安装和使用极其简便,只需简单的命令行操作即可开始对你的项目进行检查 。
本文目录导读:
在软件开发领域,静态分析工具是一种非常有用的工具,它可以在代码编译之前就发现潜在的问题,Psalm是一个非常优秀的开源PHP静态分析工具,它可以帮助开发者发现代码中的性能问题、安全漏洞以及不规范的编码实践,本文将详细介绍Psalm的安装、配置、使用方法以及其独特的功能特点。
安装与配置
1、安装前准备
确保你的开发环境中已经安装了PHP和Composer,通过Composer安装Psalm:
composer require prooph/phpcs-toolkit
2、配置Psalm
在项目根目录下创建一个名为.php_cs
的文件,用于存放Psalm的配置信息,在这个文件中,你可以设置如下选项:
standards
:指定使用的PHP规范版本,PSR-2
、PSR-11
等。
level
:设置代码检查的严格程度,可选值有:0
(最低)、1
(中等)和2
(最高)。
cache
:启用或禁用代码缓存,默认为true
。
要使用PSR-2规范并设置检查级别为1,可以这样配置:
{ "standards": { "psr-2": true, "psr-11": false }, "level": 1, "cache": true }
3、初始化Psalm
在项目根目录下运行以下命令,初始化Psalm:
./vendor/bin/prooph.phpcs.toolkit.psalm --init --config=.php_cs/config.json --paths=src,tests,docs/src --extensions=php,md,phtml,twig,inc,txt,md,yml,yaml,json,xml,csv,js,css,less,sass,scss,png,jpg,gif --ignoreVendorDir=true --reportUnusedCode=false --reportUnusedClasses=false --reportUnusedMethods=false --reportUnusedProperties=false --reportDeprecatedCode=false --reportInvalidDocComments=false --reportMissingDocComments=false --reportUnusedNamespacePrefixes=false --reportEmptyFiles=false --reportMaxLineLength=120 --reportUselessReturnValue=false --reportBooleanGetSetOnArrays=false --reportNoSilencedErrors=false --reportNoStrictTypeChecking=false --reportInlineArgumentsMaxDepth=5 --reportInlineArgumentsMaxLength=200 --reportInlineFunctionMaxLength=50 --reportInlineClosureMaxLength=50 --reportInlineObjectPropertyAccessMaxLength=50 --reportInlineObjectInstantiationMaxLength=50 --reportInlineStaticCallMaxLength=50 --reportInlineStaticPropertyAccessMaxLength=50 --reportInlineStaticMethodCallMaxLength=50 --reportInlineClassInstantiationMaxLength=50 --reportInlineInterfaceImplementationMaxLength=50 --reportInlineTraitImplementationMaxLength=50 --reportInlineClassExtendsMaxLength=50 --reportInlineClassImplementsMaxLength = 'warn';
使用方法
1、运行单个检查任务
要运行单个检查任务,可以使用以下命令:
./vendor/bin/prooph.phpcs.toolkit.psalm check src/YourNamespace/YourFile.php src/AnotherNamespace/AnotherFile.php
这将检查指定的两个文件中的潜在问题,如果需要检查多个文件,可以将它们放在同一个命令中,用空格分隔:
./vendor/bin/prooph.phpcs.toolkit.psalm check src/YourNamespace/YourFile.php src/AnotherNamespace/AnotherFile.php test/YourTestFile.php docs/src/YourDocsFile.md
2、运行整个项目的所有检查任务
要运行整个项目的所有检查任务,可以使用以下命令:
./vendor/bin/prooph.phpcs.toolkit.psalm check src tests docs vendor composer.lock composer.json composer.lock --recursive --paths='src' --extensions='php' --ignoreVendorDir='true' > report.txt
这将生成一个名为report.txt
的报告文件,其中包含了所有潜在问题的详细信息,你可以根据需要调整其他选项以满足你的需求。