paqtcom / coding-standards
PAQT.com 编码规范
2.1.1
2024-01-09 08:32 UTC
Suggests
- larastan/larastan: Provides phpstan extension specifically aimed towards Laravel
Conflicts
- php: <8.0
- friendsofphp/php-cs-fixer: <3.11
- larastan/larastan: <2.7.0
- nunomaduro/larastan: *
- phpmd/phpmd: <2.0
- phpstan/phpstan: <0.12.50
- squizlabs/php_codesniffer: <3.0
- dev-main
- 2.1.1
- 2.1.0
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- v1.0.0
- 0.0.13
- 0.0.12
- 0.0.11
- 0.0.10
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-phpstan-update-deprecated-parameter
- dev-bug/larastan-reference
- dev-php-cs-fixer/update-deprecated-rule
- dev-update-readme
- dev-feature/include-package-configs
- dev-feature/PAQTMD-3
This package is auto-updated.
Last update: 2024-09-26 11:55:55 UTC
README
包含PAQT内部使用的编码规范文件。它包括phpstan、phpmd、phpcs和php cs fixer的编码规范。
安装
通过Composer将此依赖项添加为(开发)依赖项。
composer require paqtcom/coding-standards --dev
注意! 这样做并不会安装所有必要的工具。此包仅包含配置文件。
配置
phpcs
将一个包含以下基本配置的phpcs.xml
文件添加到您的项目中
<?xml version="1.0"?> <ruleset name="PAQT.com phpcs configuration"> <description>PAQT.com ruleset for PHP projects.</description> <file>app</file> <file>src</file> ... <rule ref="vendor/paqtcom/coding-standards/rules/phpcs.xml" /> </ruleset>
vendor/bin/phpcs -ps
许多可用的phpcs配置可用于添加需要扫描或忽略的文件夹,或当需要修改或忽略预定义规则时
<rule ref="vendor/paqtcom/coding-standards/rules/phpcs.xml" /> <rule ref="PSR1.Classes.ClassDeclaration.MissingNamespace"> <exclude-pattern>database/*</exclude-pattern> </rule>
php-cs-fixer
将一个包含以下基本配置的.php-cs-fixer.php
文件添加到您的项目中
<?php $finder = PhpCsFixer\Finder::create() ->in(__DIR__) ->path([ '/^app/', '/^src/', ... ]); /** @var PhpCsFixer\Config $config */ $config = include 'vendor/paqtcom/coding-standards/rules/php-cs-fixer.php'; return $config->setFinder($finder);
vendor/bin/php-cs-fixer fix --dry-run --diff --show-progress=dots --verbose
许多可用的php-cs-fixer规则可用于修改预定义规则或添加额外规则
return $config->setFinder($finder) ->setRules( array_merge($config->getRules(), [ 'no_space_around_double_colon' => false, ]) );
注意:使用
array_merge($config->getRules(), [])
是必要的,以补充预定义规则。
phpmd
将一个包含以下基本配置的phpmd.xml
文件添加到您的项目中
<?xml version="1.0"?> <ruleset name="PAQT.com phpmd configuration" 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"> <rule ref="vendor/paqtcom/coding-standards/rules/phpmd.xml" /> </ruleset>
vendor/bin/phpmd app src ... phpmd.xml
许多可用的phpmd规则可用于配置,例如修改预定义规则或添加额外规则
<rule ref="vendor/paqtcom/coding-standards/rules/phpmd.xml" /> <rule ref="rulesets/codesize.xml/CyclomaticComplexity"> <priority>1</priority> <properties> <property name="reportLevel" value="5" /> </properties> </rule> <rule ref="rulesets/naming.xml"> <exclude name="LongVariable" /> </rule>
phpstan
将一个包含以下基本配置的phpstan.neon
文件添加到您的项目中
includes: - ./vendor/paqtcom/coding-standards/rules/phpstan.neon parameters: paths: - app - src ...
或者当是Laravel项目时
includes: - ./vendor/paqtcom/coding-standards/rules/larastan.neon parameters: paths: - app - src ...
vendor/bin/phpstan analyze --memory-limit=2G
许多可用的phpstan配置可用于修改预定义规则或可能需要忽略的错误
parameters: ignoreErrors: - '#Parameter \#3 \$count of method Illuminate\\Database\\Eloquent\\Builder(.*)::has\(\) expects int, Illuminate\\Database\\Query\\Expression given.#' checkUnionTypes: false
phpcpd
vendor/bin/phpcpd app src ...
使用
phpcpd
时不需要配置。