Zum Inhalt springen

Dein Projekt schreit Laravel. Nicht deine Domain.

Clean Architecture PHP bedeutet: die Business-Logik kennt das Framework nicht. Jardis erzeugt die konzentrischen Kreise nach Robert C. Martin als physische Ordnerstruktur, nicht als Architektur-Empfehlung.

Clean Architecture PHP scheitert nicht am Konzept, sondern an der Umsetzung.

Die Dependency Rule ist in 20 Minuten erklärt. Sie dauerhaft gegen Deadline-Druck, Frameworks und wechselnde Teams durchzuhalten, ist eine andere Sache.

Framework-Logik infiltriert die Domain

Ein Eloquent-Model hier, ein Laravel-Request-Objekt dort. Jede Abkürzung zieht Framework-Abhängigkeiten in die innersten Kreise. Nach einem Jahr ist die Domain ohne Laravel nicht mehr testbar.

Die Dependency Rule gilt nur im Gespräch

Alle kennen die Regel: Abhängigkeiten zeigen nach innen. Aber im Sprint-Stress greift der Handler direkt auf das Repository-Objekt zu, der Use Case importiert den Mailer. Die Regel lebt im Confluence-Wiki, nicht im Code.

Screaming Architecture schreit das falsche Wort

Robert C. Martin beschreibt es präzise: die Ordnerstruktur soll die Domain schreien, nicht das Framework. Aber das erste was neue Entwickler sehen, sind `app/Http`, `app/Models`, `app/Jobs`. Das Framework schreit. Die Domain flüstert.

Dependency Rule erzwungen. Nicht empfohlen.

Jardis erzeugt Clean Architecture PHP als physische Dateistruktur. Was nach innen zeigen muss, kann nicht nach außen zeigen.

DEPENDENCY RULE

Abhängigkeiten die nach innen zeigen, per Konstruktion

Jardis erzeugt die 3-Layer Entity-Hierarchie (Domain Entity, Aggregate Entity, BoundedContext Layer) in Namespaces, die strukturell keine Framework-Abhängigkeiten erlauben. Use Cases kennen nur Domain-Objekte. Infrastruktur implementiert Interfaces, die die Domain definiert. Nicht umgekehrt.

SCREAMING ARCHITECTURE

Die Ordnerstruktur schreit die Domain

Für jeden Bounded Context erzeugt Jardis eine Verzeichnisstruktur, die mit dem Domain-Namen beginnt, nicht mit dem Framework-Konzept. Commands, Queries, Domain Events, Entities: jedes Konzept hat seinen Platz in der Hierarchie. Ein Entwickler, der den Code öffnet, versteht sofort, womit er es zu tun hat.

FRAMEWORK-UNABHÄNGIGKEIT

Laravel oder Symfony: die Domain merkt es nicht

Jardis ist framework-agnostisch. Ob Laravel, Symfony oder ein anderes PHP-Framework: die erzeugten Domain- und Use-Case-Schichten haben keine Framework-Imports. Infrastruktur-Adapter koppeln die äußeren Kreise ans Framework. Die inneren Kreise bleiben frei.

CLEAN ARCHITECTURE
100%
Architektur-konformJeder erzeugte Bounded Context folgt der Dependency Rule. Domain-Schicht ohne Framework-Imports, Use Cases ohne Infrastruktur-Abhängigkeiten. Strukturell garantiert, nicht überprüft.
0
Framework-Imports in der Domain
50%
schnellere Feature-Entwicklung
BUILDER OUTPUT
80%
Code erzeugtEntity-Hierarchie, Commands, Queries, Domain Events, API Contracts, Repository Pipeline, Validators. Euer Team schreibt die Business-Logik in den Use Cases.

Warum Teams mit Jardis auf Clean Architecture PHP setzen.

Weil die Dependency Rule nicht durch Code Reviews sichergestellt werden kann, sondern durch die Struktur.

> Testbarkeit

Business-Logik ohne Framework testbar

Use Cases und Domain-Objekte haben keine Framework-Abhängigkeiten. Unit Tests brauchen keinen Laravel-Bootstrapping-Overhead. Schnelle, isolierte Tests für die Logik, die wirklich zählt.

> Framework-Flexibilität

Frameworks austauschen, Domain bleibt

Die inneren Kreise kennen das Framework nicht. Infrastruktur-Adapter koppeln nach außen. Wenn das Framework wechselt, ändert sich die Infrastruktur-Schicht, nicht die Business-Logik.

> Entwicklungsgeschwindigkeit

Neue Features ohne Architektur-Diskussionen

Wo ein neues Feature hingehört, ist durch die Struktur vorgegeben. Kein Debatte: Controller oder Use Case? Repository oder Domain Service? Die Struktur beantwortet das.

Clean Architecture PHP als Struktur, nicht als Vorsatz?

Auf die Waitlist

Häufige Fragen

Antworten zu Clean Architecture PHP mit Jardis.

Hexagonal Architecture fokussiert auf Ports & Adapters und physische Layer-Trennung. Clean Architecture fokussiert auf die Dependency Rule: Abhängigkeiten zeigen nach innen, niemals nach außen. Jardis erzwingt beides, aber das Narrativ ist unterschiedlich: hier geht es um Framework-Unabhängigkeit und Screaming Architecture.