Michael Korte – Senior Full-Stack Developer Freelancer aus Dortmund

Teil 12 – Wenn Architektur anfängt zu arbeiten

Mit Teil 11 endet der erste große Abschnitt dieses Tutorials. Bis hierhin ging es vor allem um Verständnis: um sauberes Rendering, kontrollierten Output und die Frage, warum viele Probleme nicht im Code, sondern im fehlenden Rahmen entstehen.

Ab diesem Punkt ändert sich der Fokus. v0.2 führt keine neue Architektur ein – sie beginnt, die bestehende Architektur konsequent anzuwenden.

Was v0.1 bewusst offen gelassen hat

In v0.1 war vieles absichtlich noch locker:

  • Controller lagen teilweise noch nah am Core
  • Routen wirkten selbstverständlich
  • Erweiterungen waren eher eine Idee als ein Mechanismus
  • Beobachtbarkeit spielte kaum eine Rolle

Das war kein Versäumnis. Es war notwendig, um zuerst das Fundament zu legen, ohne sich in Orchestrierung und Infrastruktur zu verlieren.

Warum jetzt ein neuer Abschnitt beginnt

Spätestens an diesem Punkt stellt sich eine neue Frage:

Die zentrale Frage von v0.2

Wie wird aus Architektur ein benutzbares System?

v0.2 beantwortet diese Frage nicht mit neuen Konzepten, sondern mit klaren Entscheidungen: Wer entscheidet was? Wann? Und warum genau dort?

Ein erstes Signal: Dinge passieren nicht mehr „einfach so“

Ab v0.2 gilt:

  • Nichts wird automatisch geladen
  • Nichts wird implizit registriert
  • Nichts entscheidet ohne klaren Kontext

Stattdessen wird alles explizit gemacht. Zum Beispiel:


// v0.2: Die App entscheidet bewusst,
// welche Komponenten aktiv sind
$app->addComponent(new ShortenerComponent());
    

Dieser eine Schritt wirkt unscheinbar, verändert aber den gesamten Charakter des Systems.

Was dich in den nächsten Teilen erwartet

Die folgenden Teile bauen direkt aufeinander auf:

  • Beobachtbarkeit statt Debug-Ausgaben
  • Ein Core, der bewusst leer wird
  • Explizite Routen statt impliziter Pfade
  • Components als wählbare Features
  • Plugins als Beobachter, nicht als Eingreifer

Jeder Schritt ist klein – aber gemeinsam sorgen sie dafür, dass die Architektur nicht nur existiert, sondern spürbar arbeitet.

Nächster Schritt

In Teil 13 beginnen wir bewusst mit einem Thema, das nichts rendert und nichts steuert – aber alles sichtbar macht: Logging.

Projekt & Quellcode

Clean-Output-MVC ist ein offenes Projekt. Wenn du den hier beschriebenen Weg im Code nachvollziehen möchtest, findest du das Projekt öffentlich auf GitHub:

Der Code ist kein Nachschlagewerk, sondern eine begleitende Referenz zu diesem Tutorial.