jardissupport/contract
最新稳定版本:v1.0.0
Composer 安装命令:
composer require jardissupport/contract
包简介
Consolidated contract interfaces for all Jardis packages — Kernel, Data, Repository, DbQuery, Messaging, Validation, Workflow, and more
README 文档
README
Part of the Jardis Business Platform — Enterprise-grade PHP components for Domain-Driven Design
Consolidated contract interfaces for all Jardis packages.
Overview
This package provides all interface contracts for the Jardis ecosystem in a single location. It replaces the previously separate jardisport/* packages.
| Namespace | Contracts | Purpose |
|---|---|---|
Kernel |
4 | DomainKernel, BoundedContext, ContextResponse, DomainResponse |
ClassVersion |
2 | Versioned class resolution |
Connection |
1 | Generic connection abstraction |
Data |
3 | Hydration, Identity, FieldMapper |
DbConnection |
3 | ConnectionPool, DbConnection, DatabaseConfig |
DbQuery |
17 | Query Builder, Conditions, Joins, Expressions, Results |
DbSchema |
2 | Schema Reader, Schema Exporter |
DotEnv |
1 | Environment variable loading |
Messaging |
10 | Publisher, Consumer, MessageHandler + Exceptions |
Repository |
4 | Generic CRUD, PkStrategy, Exceptions |
Secret |
2 | Secret resolution + Exception |
Validation |
3 | Validator, ValueValidator, ValidationResult |
Mailer |
4 | Mailer, MailMessage, MailTransport + Exception |
Filesystem |
5 | Filesystem (Reader/Writer), FileInfo + Exception |
Workflow |
6 | Workflow orchestration (Builder, Config, Context, Node, Result) |
67 contracts across 15 domains.
Installation
composer require jardissupport/contract
Namespace
JardisSupport\Contract\
├── Kernel\
├── ClassVersion\
├── Connection\
├── Data\
├── DbConnection\
├── DbQuery\
├── DbSchema\
├── DotEnv\
├── Mailer\
├── Filesystem\
├── Messaging\
│ └── Exception\
├── Repository\
│ ├── Exception\
│ └── PrimaryKey\
├── Secret\
├── Validation\
└── Workflow\
Design Principles
- One package, all contracts — single dependency for the entire Jardis ecosystem
- Only PSR standards at the Kernel level — PSR-3, PSR-11, PSR-14, PSR-16, PSR-18 + PDO
- No implementation code — interfaces, enums, value objects and exception classes only
- Hexagonal Architecture — contracts define ports, implementations live in adapter/support packages
Migration from jardisport/*
Replace namespace imports:
// Before use JardisPort\Kernel\DomainKernelInterface; use JardisPort\DbQuery\DbQueryBuilderInterface; // After use JardisSupport\Contract\Kernel\DomainKernelInterface; use JardisSupport\Contract\DbQuery\DbQueryBuilderInterface;
Replace composer dependency:
// Before "require": { "jardisport/kernel": "^1.0", "jardisport/dbquery": "^1.0" } // After "require": { "jardissupport/contract": "^1.0" }
Related Packages
| Package | Role |
|---|---|
jardiscore/kernel |
Kernel contract implementation |
jardiscore/foundation |
Full DDD platform on top of Kernel |
jardissupport/* |
Support package implementations |
jardisadapter/* |
Adapter implementations for external systems |
Documentation
Full documentation, guides, and API reference:
docs.jardis.io/en/support/contract
License
Jardis is open source under the MIT License. Free for any purpose — commercial or non-commercial.
Jardis – Development with Passion Built by Headgent Development
统计信息
- 总下载量: 427
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 17
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-31