complex-heart/contracts 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

complex-heart/contracts

最新稳定版本:v3.0.0

Composer 安装命令:

composer require complex-heart/contracts

包简介

Common interfaces for PHP Complex Heart SDK.

README 文档

README

Latest Stable Version Total Downloads License

Common interfaces for PHP Complex Heart SDK.

Domain Layer

Model

Core building blocks for domain-driven design:

  • Aggregate - Root entity with domain event publishing
  • Entity - Domain object with unique identity
  • ValueObject - Immutable domain value with equality
  • Identifier - Unique identifier representation

Events

Domain event interfaces following ISP (Interface Segregation Principle):

  • Event - Base domain event (eventId, eventName, payload, occurredOn)
  • Traceable - Distributed tracing (correlationId, causationId)
  • Sourceable - Event sourcing (aggregateId, aggregateType, eventVersion)
  • EventBus - Publishes domain events

Application Layer

Command

Write operations (CQRS):

  • Command - Marker interface for state-changing operations
  • CommandBus - Dispatches commands to handlers
  • CommandHandler - Executes commands

Query

Read operations (CQRS):

  • Query - Marker interface for data retrieval
  • QueryResponse - Marker interface for query results
  • QueryBus - Routes queries to handlers
  • QueryHandler - Executes queries and returns responses

Handler

Event handlers:

  • EventHandler - Reacts to domain events

Service Bus

Unified message bus facade:

  • ServiceBus - Provides access to CommandBus, QueryBus, and EventBus

Architecture

This library follows Clean Architecture principles with explicit layer separation:

  • Domain → Application - Domain layer is independent, Application depends on Domain
  • Layer-Explicit Namespaces - Clear architectural boundaries in namespace structure
  • Interface Segregation - Compose only needed capabilities (e.g., Event + Traceable + Sourceable)

Architecture Testing

The project includes automated architecture tests using Pest PHP:

composer test

Tests enforce:

  • Domain layer independence (no Application dependencies)
  • Correct interface placement and usage
  • Clean Architecture dependency rules
  • PHP and security best practices (via arch presets)

统计信息

  • 总下载量: 2.41k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2021-05-30