ecphp/php-conventions

ECPHP PHP约定。

1.0.2 2022-01-24 11:42 UTC

This package is auto-updated.

Last update: 2024-08-24 17:39:16 UTC


README

Latest Stable Version GitHub stars Total Downloads License

ECPHP PHP约定

描述

这是一个开发者工具,它提供了一个为欧洲委员会的PHP开发量身定制的预定义GrumPHP配置。

此包受到了drupol/php-conventionsergebnis/php-library-template的启发。

功能

基于GrumPHP,此工具将通过git钩子运行一系列质量控制工具。用户可以自由禁用git钩子,并手动运行工具,有关更多信息,请参阅文档

默认的GrumPHP配置包含以下检查

它为每个任务提供了默认配置,并且可以通过简单的YAML配置文件随意自定义。

可以根据需要添加或跳过任务。

安装

composer require ecphp/php-conventions --dev

添加或编辑文件grumphp.yml.distgrumphp.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提交的变更日志。

如需查看更详细的变更日志,请访问发布变更日志