vitaliiivanovspryker / project-architecture-sniffer
dev-main
2024-01-09 18:36 UTC
Requires
- php: >=8.0
- spryker/architecture-sniffer: ^0.5.7
Requires (Dev)
- codeception/codeception: ^4.1
- codeception/module-asserts: ^1.3
- phpstan/phpstan: ^1.0.0
- spryker/code-sniffer: *
- symfony/var-dumper: ^4.0
This package is auto-updated.
Last update: 2024-01-10 16:34:59 UTC
README
为 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
。
每个嗅探器都需要实现 ClassAware
、FunctionAware
、InterfaceAware
或 MethodAware
接口才能被识别。
设置
运行
composer install
测试
目前没有测试
在项目中运行 code-sniffer
确保此存储库符合 Spryker 编码标准
composer cs-check
如果您想修复可修复的错误,请使用
composer cs-fix
如果您想运行 phpstan
composer stan
一旦所有内容都是绿色的,您就可以通过 PR 提交您的更改。