cooldevguys/phpstan-dhexpendency-rules
Composer 安装命令:
composer require cooldevguys/phpstan-dhexpendency-rules
包简介
A set of rules for PHPStan based on the Hexagonal architecture layers dependency
README 文档
README
A set of additional rules for phpstan. The intention of this rules is to foment to respect the dependency flow in a hexagonal architecture.
These rules assume that in the typical hexagonal architecture there are 3 layers: Infrastructure, Application and Domain.
There is a flow within these layers, this defines how the dependencies should interact to each other according the layer they are located in, and the flow is: Infrastructure ➡️ Application ➡️ Domain.
The interpretation of this flow is:
- The Infrastructure layer can "know" or communicate with the Application and Domain layers
- The Application layer can "known" or communicate ONLY with the Domain layer
- The Domain layer can ONLY communicate with itself
This ruleset attempts to help verifying the dependency flow is being applied properly in your project.
Installation
Run
composer require --dev cooldevguys/phpstan-dhexpendency-rules
If you use PHPStan extension installer, you're all set. If not, you need to manually register all the rules in your phpstan.neon file:
includes: - vendor/cooldevguys/phpstan-dhexpendency-rules/rules.neon
Configuration
You need to add your own values as parameters to your phpstan.neon:
parameters: myVendorName: CoolDevGuys vendorStrictMode: true ignoredExternalVendors: ['IgnoredVendor'] infrastructureLayerName: Infra applicationLayerName: App domainLayerName: Dom
myVendorName(string): Your project vendorvendorStrictMode(bool): Indicates if you want to validate that no external vendors are imported from Application or Domain layersignoredExternalVendors(string[]): A list of external vendors that you want to exclude from the checkinfrastructureLayerName(string): The name you define in your project for the Infrastructure layerapplicationLayerName(string): The name you define in your project for the Application layerdomainLayerName(string): The name you define in your project for the Domain layer
Rules
Currently there are two rules:
LayersDependencyFlowRuleNoExternalVendorsAllowedFromDomainRule
cooldevguys/phpstan-dhexpendency-rules 适用场景与选型建议
cooldevguys/phpstan-dhexpendency-rules 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 189 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 07 月 31 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「PHPStan」 「phpstan-rules」 「hexagonal-architecture」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 cooldevguys/phpstan-dhexpendency-rules 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 cooldevguys/phpstan-dhexpendency-rules 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 cooldevguys/phpstan-dhexpendency-rules 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Provides rules for phpstan/phpstan.
Services to aid phpstan analysis on CakePHP projects
Doctrine Criteria extensions for PHPStan
PHPStan for Silverstripe
PHPStan extensions for Containers
PHPStan extension with opinionated strict rules for better code in tests.
统计信息
- 总下载量: 189
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 16
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-07-31