Skip to content

Adapter

Acht Infrastructure-Packages - PSR-kompatibel, ohne Framework-Kopplung, einzeln einsetzbar.

Die Adapter-Schicht implementiert die ausseren Ports der Hexagonalen Architektur und liefert konkrete Infrastruktur fur PHP-Anwendungen: Datenbankverbindungen, Caching, strukturiertes Logging, Event-Dispatching und Messaging. Jedes Package implementiert die in jardissupport/contracts definierten Interfaces und ist unabhangig vom restlichen Jardis-Stack einsetzbar - auch in bestehenden Projekten ohne DDD-Laufzeit.

Überblick

Adapter bilden die äußere Schicht der Hexagonalen Architektur. Sie implementieren Interfaces aus Contract und liefern konkrete Infrastruktur: Datenbankverbindungen, Caching, Logging, Events, HTTP, E-Mail, Messaging und Dateisysteme. Jedes Package ist eigenständig nutzbar: ohne Jardis-Core, ohne Framework.

GitHub: jardisAdapter

Packages

Cache

Multi-Layer Caching mit automatischem Write-Through: von In-Memory bis zur Datenbank. PSR-16 kompatibel, fünf Adapter (Memory, APCu, Redis, Database, Null), Namespace-Isolation.

bash
composer require jardisadapter/cache

Database Connection

PDO-Verbindungsmanagement mit Connection-Pool, Read/Write-Splitting und Health-Checks. Unterstützt MySQL, PostgreSQL und SQLite.

bash
composer require jardisadapter/dbconnection

Event Dispatcher

Vier Klassen, null Magie: synchrones Event-Dispatching für Domain-Driven Design. PSR-14 kompatibel, Priority-Ordering, Type-Hierarchy-Matching, stoppbare Events.

bash
composer require jardisadapter/eventdispatcher

Filesystem

Lokales Dateisystem und S3 mit einer API: ohne AWS SDK, ohne Flysystem. Stream-Support, Visibility-Management, einheitliche Abstraktion.

bash
composer require jardisadapter/filesystem

HTTP Client

PSR-18 HTTP-Client mit Handler-Pipeline, Retry und eigener PSR-7-Implementierung: ohne Guzzle, ohne Symfony. Convenience-Methoden, Bearer/Basic-Auth, Exponential Backoff.

bash
composer require jardisadapter/http

Logger

Strukturiertes Logging mit 20+ Handlern, fluenter Konfiguration und eingebauter Fehlerresilienz. PSR-3 kompatibel, File, Console, Redis, Slack, Loki und mehr.

bash
composer require jardisadapter/logger

Mailer

Direkter SMTP-Versand mit STARTTLS, Attachments und Connection-Keepalive: ohne Swiftmailer, ohne Symfony. HTML/Text, Retry, konfigurierbare Timeouts.

bash
composer require jardisadapter/mailer

Messaging

Multi-Transport Messaging mit Redis, Kafka, RabbitMQ, Database und InMemory: eine API für alle. Publisher/Consumer-Pattern, einheitliches Interface.

bash
composer require jardisadapter/messaging

Gemeinsame Merkmale

  • PSR-kompatibel — PSR-3, PSR-14, PSR-16, PSR-18 wo anwendbar
  • Closure-Orchestrator-Pattern — konsistente Architektur in jedem Package
  • Keine Framework-Kopplung — nutzbar mit oder ohne Jardis-Core
  • Interfaces aus Contract — austauschbar gegen eigene Implementierungen