webservco/coding-standards
Composer 安装命令:
composer require webservco/coding-standards
包简介
Custom, opinionated coding standards based on PSR12, SlevomatCodingStandard, and PHPCompatibility.
README 文档
README
A collection of coding standards and configuration files.
Custom, opinionated coding standards based on PSR12, SlevomatCodingStandard, and PHPCompatibility.
Setup
composer require --dev webservco/coding-standards
Optionally, install any of the dependencies from require-dev that you wish to use in your project.
Components
Phan
Usage:
vendor/bin/phan --config-file vendor/webservco/coding-standards/phan/config.php
PHP_CodeSniffer
Example configuration file .phpcs/php-coding-standard.xml, to be placed in own project:
<?xml version="1.0"?> <ruleset name="WebServCo-CodingStandard-PHP83"> <description>Custom, opinionated coding standards based on PSR12, SlevomatCodingStandard, and PHPCompatibility.</description> <rule ref="vendor/webservco/coding-standards/phpcs/ruleset-psr-php83-slevomat.xml"> <properties> <property name="rootNamespaces" type="array"> <element key="src/Project" value="Project" /> <element key="tests/unit" value="Tests" /> </property> </properties> </rule> </ruleset>
Usage:
vendor/bin/phpcs --standard=.phpcs/php-coding-standard.xml --extensions=php -sp bin config public resources src tests
Rulesets:
phpcs/ruleset-namespaces.xml: Slevomat namespace usage;phpcs/ruleset-psr-php74-slevomat.xml: PHP 7.4, PSR-12, Slevomat;phpcs/ruleset-psr-php81.xml: PHP 8.1, PSR-12;phpcs/ruleset-psr-php81-slevomat.xml: PHP 8.1, PSR-12, Slevomat;phpcs/ruleset-psr-php82.xml: PHP 8.2, PSR-12;phpcs/ruleset-psr-php82-slevomat.xml: PHP 8.2, PSR-12, Slevomat;phpcs/ruleset-psr-php83.xml: PHP 8.3, PSR-12;phpcs/ruleset-psr-php83-slevomat.xml: PHP 8.3, PSR-12, Slevomat;
PHPMD
Usage:
vendor/bin/phpmd bin,config,public,resources,src,tests json vendor/webservco/coding-standards/phpmd/phpmd-rule-set.xml
PHPStan
Symfony support
- install symfony related packages:
- (if using Doctrine) "phpstan/phpstan-doctrine": "^1",
- "phpstan/phpstan-symfony": "^1",
- (if using Doctrine) create
.phpstan/get_doctrine_manager.php, as in phpstan-doctrine documentation - use specific
phpstan-symfony.neonorphpstan-symfony-doctrine.neonconfiguration files
Usage:
vendor/bin/phpstan analyse bin config public resources src tests --ansi -c vendor/webservco/coding-standards/phpstan/phpstan.neon --level=max
PHPUnit
Composer scripts example:
{
"scripts": {
"test" : "XDEBUG_MODE=coverage vendor/bin/phpunit --colors=always --configuration vendor/webservco/coding-standards/phpunit/phpunit-10.xml --display-deprecations --display-errors --display-incomplete --display-notices --display-skipped --display-warnings",
"test:dox" : "@test --testdox"
}
}
Usage:
ddev xdebug on clear && ddev exec XDEBUG_MODE=coverage composer test:dox
Psalm
Usage:
vendor/bin/psalm --config=vendor/webservco/coding-standards/psalm/psalm.xml --no-diff
统计信息
- 总下载量: 2.41k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 51
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-09-30