vitaliiivanovspryker/project-architecture-sniffer

此包已被弃用,不再维护。作者建议使用 spryker/project-architecture-sniffer 包。

Spryker 项目架构嗅探器

dev-main 2024-01-09 18:36 UTC

This package is auto-updated.

Last update: 2024-01-10 16:34:59 UTC


README

Minimum PHP Version License

为 Spryker 项目提供架构嗅探器。超过 80 条针对 Spryker 项目的规则。

优先级级别

  • 1: 严重(停止它)

  • 2: 主要(它不是一个 Spryker 项目)

  • 3: 中等(最好有)

  • 4: 小(很好)

  • 5: Spryker 核心库(代码符合 Spryker 架构规则,甚至更多)

我们建议默认优先级为 3,用于本地和 CI 检查。

注意:较低的优先级(较高的数字)始终包含较高的优先级(较低的数字)。

内容

  • 36 条适配的 PHPMD 规则
  • 38 条适配的 Spryker 架构嗅探器规则
  • 10 条新的项目级别规则

使用方法

确保将嗅探器作为 require-dev 依赖项包括在内

composer require --dev vitaliiivanovspryker/project-architecture-sniffer:dev-main

Spryker 使用

namespace Pyz\Zed\Development;

class DevelopmentConfig extends \Spryker\Zed\Development\DevelopmentConfig
{
    public function getArchitectureSnifferRuleset(): string
    {
        $vendorDir = APPLICATION_VENDOR_DIR . DIRECTORY_SEPARATOR;

        return $vendorDir . 'vitaliiivanovspryker/project-architecture-sniffer/src/ruleset.xml';
    }
}

当使用 Spryker 时,您可以使用 Spryker CLI 控制台命令


console code:sniff:architecture [-m ModuleName] [optional-sub-path] -v [-p priority]

建议在此处使用详细输出。

手动使用

您还可以通过控制台使用以下命令手动运行项目架构嗅探器


vendor/bin/phpmd src/Pyz/ (xml|text|html) vendor/vitaliiivanovspryker/project-architecture-sniffer/src/ruleset.xml --minimumpriority 2

本地代码审查使用


vendor/bin/phpmd src json vendor/vitaliiivanovspryker/project-architecture-sniffer/src/ruleset.xml --minimumpriority 4 --reportfile results.json

cp vendor/vitaliiivanovspryker/project-architecture-sniffer/tools/script.php script.php

php script.php

调试

docker/sdk cli -x

PHPMD_ALLOW_XDEBUG=true vendor/bin/phpmd src/Pyz/ (xml|text|html) vendor/vitaliiivanovspryker/project-architecture-sniffer/src/ruleset.xml --minimumpriority 2

路线图(预期规则)

请随时提出建议

编写新嗅探器

将它们添加到 src/Project 文件夹内部,结构与同一文件夹结构相同。

别忘了更新 ruleset.xml

每个嗅探器都需要实现 ClassAwareFunctionAwareInterfaceAwareMethodAware 接口才能被识别。

设置

运行


composer install

测试

目前没有测试

在项目中运行 code-sniffer

确保此存储库符合 Spryker 编码标准


composer cs-check

如果您想修复可修复的错误,请使用


composer cs-fix

如果您想运行 phpstan


composer stan

一旦所有内容都是绿色的,您就可以通过 PR 提交您的更改。