jardissupport/contract

Consolidated contract interfaces for all Jardis packages — Kernel, Data, Repository, DbQuery, Messaging, Validation, Workflow, and more

Maintainers

Package info

github.com/jardisSupport/contract

pkg:composer/jardissupport/contract

Statistics

Installs: 86

Dependents: 13

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-04-01 05:53 UTC

README

License: PolyForm Shield PHP Version PHPStan Level PSR-12

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
Workflow 5 Workflow orchestration (Builder, Config, Node, Result)

57 contracts across 13 domains.

Installation

composer require jardissupport/contract

Namespace

JardisSupport\Contract\
├── Kernel\
├── ClassVersion\
├── Connection\
├── Data\
├── DbConnection\
├── DbQuery\
├── DbSchema\
├── DotEnv\
├── 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

License

Jardis is source-available under the PolyForm Shield License 1.0.0. Free for virtually every purpose — including commercial use.

Jardis – Development with Passion Built by Headgent Development