ecphp / php-conventions
ECPHP PHP约定。
1.0.2
2022-01-24 11:42 UTC
Requires
- php: >= 7.4
- drupol/php-conventions: ^5
This package is auto-updated.
Last update: 2024-08-24 17:39:16 UTC
README
ECPHP PHP约定
描述
这是一个开发者工具,它提供了一个为欧洲委员会的PHP开发量身定制的预定义GrumPHP配置。
此包受到了drupol/php-conventions和ergebnis/php-library-template的启发。
功能
基于GrumPHP,此工具将通过git钩子运行一系列质量控制工具。用户可以自由禁用git钩子,并手动运行工具,有关更多信息,请参阅文档。
默认的GrumPHP配置包含以下检查
- 许可证文件创建(默认为BSD-3-Clause),
- Composer Require Checker,
- composer.json验证,
- composer.json规范化,,
- YAML Lint,
- JSON Lint,
- PHP Lint,,
- Twig CS,,
- PHP CS Fixer检查(基于PSR12),
- PHP CS,,
- PHPStan,.
- Psalm,.
它为每个任务提供了默认配置,并且可以通过简单的YAML配置文件随意自定义。
可以根据需要添加或跳过任务。
安装
composer require ecphp/php-conventions --dev
添加或编辑文件grumphp.yml.dist
或grumphp.yml
,并在顶部添加以下内容
imports: - { resource: vendor/ecphp/php-conventions/config/php73/grumphp.yml }
将字符串php73
替换为要支持的PHP最小版本。
当前选项有
psr12
php73
php74
(尚未提供)
您可以从该文件配置所有内容。
要添加额外任务或跳过任务
imports: - { resource: vendor/ecphp/php-conventions/config/php73/grumphp.yml } parameters: extra_tasks: phpunit: ~ skip_tasks: - phpstan
要编辑特定现有任务的配置
imports: - { resource: vendor/ecphp/php-conventions/config/php73/grumphp.yml } parameters: tasks.license.holder: <License holder here> tasks.license.name: BSD-3-Clause # MIT and EUPL-1.2 are also available tasks.license.date_from: 2019
在YAML文件顶部导入的文件中找到所有可自定义的属性。
使用方法
基本用法
vendor/bin/grumphp run
这将运行所有预配置的任务。
高级用法
如果您只想指定一组任务,您可以使用预定义的测试套件。
可用的测试套件有
cs
- license
- composer_require_checker
- composer
- composer_normalize
- yamllint
- jsonlint
- phplint
- twigcs
- phpcsfixer
- phpcs
static-analysis
- phpstan
- psalm
要运行特定的测试套件
vendor/bin/grumphp run --testsuite=cs
要运行特定的任务
vendor/bin/grumphp run --tasks=phpcsfixer,phpcs
贡献
在问题跟踪器上报告错误。
请参阅文件CONTRIBUTING.md,但请随时通过发送GitHub pull请求为此库做出贡献。
变更日志
请参阅CHANGELOG.md以获取基于git提交的变更日志。
如需查看更详细的变更日志,请访问发布变更日志。