etsglobal / php-static-analysis
PHP项目静态分析工具配置
v3.2.9
2024-09-26 15:41 UTC
Requires
- php: ^8.3
- codeception/codeception: ^5.1
- codeception/module-amqp: ^3.0
- codeception/module-asserts: ^3.0
- codeception/module-filesystem: *
- codeception/module-mongodb: ^3.0
- codeception/module-rest: ^3.0
- codeception/module-symfony: ^3.3
- jangregor/phpstan-prophecy: ^1.0
- mcustiel/phiremock: ^2.1
- mcustiel/phiremock-client: ^1.2
- mcustiel/phiremock-codeception-extension: ^3.0
- mcustiel/phiremock-codeception-module: ^2.0
- phpmd/phpmd: ^2.15
- phpspec/prophecy-phpunit: ^2.1
- phpstan/phpstan: ^1.10
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^11.0 || ^12.0
- predis/predis: ^2.0
- sebastian/comparator: ^6.0
- slevomat/coding-standard: ^8.14
- squizlabs/php_codesniffer: ^3.8
Requires (Dev)
- symfony/cache: ^7.0
This package is auto-updated.
Last update: 2024-09-26 15:42:30 UTC
README
此仓库包含ETSGlobal PHP应用程序使用的静态分析工具的基础配置。
它包括
- PHP_CodeSniffer配置和自定义嗅探器
- PHP Mess Detector配置
- PHPStan配置
安装
使用composer
composer require etsglobal/php-static-analysis --dev
默认情况下,它将安装squizlabs/php_codesniffer
,但您可以手动安装其他可选工具
composer require phpmd/phpmd phpstan/phpstan --dev
使用方法
PHP_CodeSniffer
在您的项目根目录中,添加一个包含以下内容的phpcs.xml
文件
<?xml version="1.0"?> <ruleset name="ETSGlobal Coding Standard" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../vendor/squizlabs/php_codesniffer/phpcs.xsd"> <rule ref="./vendor/etsglobal/php-static-analysis/lib/phpcs/phpcs.xml" /> </ruleset>
然后,运行它
vendor/bin/phpcs src
如果需要,您可以通过向您的phpcs.xml
添加异常来排除一些规则
... <rule ref="SlevomatCodingStandard.Functions.TrailingCommaInCall"> <!-- Ignore missing trailing commas in multiline function calls --> <exclude name="SlevomatCodingStandard.Functions.TrailingCommaInCall.MissingTrailingComma"/> </rule> ...
PHP Mess Detector
首先,确保您已安装了phpmd/phpmd
包
composer require phpmd/phpmd --dev
然后,在您的项目根目录中,添加一个包含以下内容的phpmd.xml
文件
<?xml version="1.0"?> <ruleset name="ETSGlobal ruleset" xmlns="http://pmd.sf.net/ruleset/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd" xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd"> <description> ETSGlobal ruleset </description> <rule ref="./vendor/etsglobal/php-static-analysis/lib/phpmd/phpmd.xml"/> </ruleset>
现在运行phpmd
vendor/bin/phpmd src text phpmd.xml
PHPStan
首先,确保您已安装了phpstan/phpstan
包
composer require phpstan/phpstan --dev
然后,在您的项目根目录中,添加一个包含以下内容的phpstan.neon
文件
includes: - vendor/etsglobal/php-static-analysis/lib/phpstan/phpstan.neon
现在可以运行phpstan了
vendor/bin/phpstan analyse --level=max src