我们有一个 monorepo,其中包括我们的旧单体以及我们的新模块。(我们不想要单独的回购......但是)
src/Monolith/...
src/OrderModule/...
src/PaymentModule/...
我们显然不希望我们的新模块耦合到单体应用。我们也不希望某些模块依赖于其他模块。例如:OrderModule
可以依赖于PaymentModule
,但反之则不然。
是否有防止“不当”凝聚力的 phpcs 或 linter 规则?限制进口的东西会起作用。
JavaScript 的 ESLint 具有no-restricted-imports
,no-restricted-modules
并将nx-enforce-module-boundaries
强制执行自定义边界规则。是否有 PHP 等价物?
奖励:我们使用的是 DDD 六边形架构,因此我们甚至可以使用这些规则来强制分离应用程序、域和基础设施层!