xmolecules/phpmolecules

帮助开发者用PHP代码表达架构抽象的库

v0.2.0 2022-05-31 17:19 UTC

This package is auto-updated.

Last update: 2024-09-26 16:36:20 UTC


README

一组库,帮助开发者用PHP处理架构概念。xMolecules家族成员。目标

  • 表达一段代码(命名空间、类、方法等)实现了某个架构概念。
  • 使人类读者容易确定给定的代码段属于哪种架构概念。
  • 允许工具集成(如生成持久性或静态架构分析以验证架构规则的有效性。)

表达领域驱动设计(DDD)概念

示例

use PHPMolecules\DDD\Attribute\{Entity, ValueObject, Repository};

#[Entity]
class BankAccount { /* ... */ }

#[ValueObject]
class Currency { /* ... */ }

#[Repository]
class Accounts { /* ... */ }

当我们认真对待通用语言时,我们希望名称(类、方法等)只包含领域语言中的单词。这意味着构建块的标题不应该包含在名称中。所以在一个银行领域,我们不想使用BankAccountEntityCurrencyVO甚至AccountRepository作为类型。相反,我们希望使用BankAccountCurrencyAccounts - 如上例所示。

尽管如此,我们仍然希望表达某个类(或其他架构元素)是一个特殊的构建块;即使用设计模式。PHPMolecules提供了一套标准的注释,用于标记从DDD中已知的构建块。

表达架构

phpMolecules提供注释来标记一个包为层(或环)

待办事项:从jMolecules迁移文档。

安装

要在项目中使用phpMolecules,只需通过Packagist使用Composer安装它

composer require xmolecules/phpmolecules

发布说明

创建一个新的Git版本标签并推送

git tag --sign vX.Y.Z
git push --tags