Dein Projekt schreit Laravel. Nicht deine Domain.
Clean Architecture PHP bedeutet: die Business-Logik kennt das Framework nicht. Jardis generiert 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 generiert Clean Architecture PHP als physische Dateistruktur. Was nach innen zeigen muss, kann nicht nach außen zeigen.
Abhängigkeiten die nach innen zeigen, per Konstruktion
Jardis generiert 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.
Die Ordnerstruktur schreit die Domain
Für jeden Bounded Context generiert 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.
Laravel oder Symfony: die Domain merkt es nicht
Jardis ist framework-agnostisch. Ob Laravel, Symfony oder ein anderes PHP-Framework: die generierten Domain- und Use-Case-Schichten haben keine Framework-Imports. Infrastruktur-Adapter koppeln die äußeren Kreise ans Framework. Die inneren Kreise bleiben frei.
Sieh selbst, was aus drei Dateien entsteht.
Drei Definitionsdateien rein, ein kompletter Bounded Context raus. Klick dich durch den generierten Code.
# Database Schema — Sales Bounded Context
# This file defines the persistent storage structure.
schema:
domain: ECommerce
boundedContext: Sales
tables:
order:
columns:
id:
type: integer
primary: true
autoIncrement: true
public_id:
type: uuid7
unique: true
customer_email:
type: string
length: 255
status:
type: string
length: 32
default: "draft"
total_amount:
type: integer
currency:
type: string
length: 3
default: "EUR"
created_at:
type: datetime
updated_at:
type: datetime
nullable: true
order_item:
columns:
id:
type: integer
primary: true
autoIncrement: true
order_id:
type: integer
foreignKey:
table: order
column: id
onDelete: cascade
product_name:
type: string
length: 255
sku:
type: string
length: 64
quantity:
type: integer
unit_price:
type: integer
line_total:
type: integer
Warum Teams mit Jardis auf Clean Architecture PHP setzen.
Weil die Dependency Rule nicht durch Code Reviews sichergestellt werden kann, sondern durch die Struktur.
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.
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.
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 WaitlistStruktur kostet weniger als Chaos.
Teste Jardis 7 Tage kostenlos
Lass Jardis an deiner echten Domäne los. Discovery, Struktur und dein erster Platform Build.
Join WaitlistDie komplette DDD-Architektur mit allen Klassen und Contracts. Dein Team schreibt Features, nicht Infrastruktur.
Join WaitlistDie komplette Business-Logik mit Handlern, Validierung und Pipelines. Was früher ein Sprint war, ist jetzt ein Build.
Join WaitlistMehr als 20 Platform Builds pro Monat?
Lass uns sprechenSei dabei, wenn Jardis startet.
Trag dich ein. Du bekommst Zugang, sobald wir live gehen. Inklusive kostenlosem Trial.
Neugierig, wie Jardis funktioniert?
Jardis entdeckenHä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.