Warum verwendest Du nicht Composer?

Ich versuche generell, alle Codebeispiele möglichst minimal zu halten. Daher verwende ich Composer nur dort, wo mein Beispielcode auch wirklich Abhängigkeiten hat.

Alle Inhalte und Codebeispiele von The Fluent Developer liegen in einem Quellverzeichnis content. Die Plattform generiert daraus statische HTML-Seiten mit allen Inhalten, Beispielen und deren Ausgaben.

Ich möchte, dass die einzelnen Beispiele "self-contained" lauffähig sind. Meine Nutzer können sich jedes Beispiel einzeln herunterladen, und während ich eine Schulung durchführe, stelle ich den Teilnehmenden die Beispiele und Übungsaufgaben über ein Git-Repository zur Verfügung.

Wie viele Autoloader?

Composer ist sehr gut darin, einen Autoloader über das gesamte Projekt zu generieren, der das vendor-Verzeichnis sowie den Quellcode in src oder anderen Verzeichnissen abdeckt. Für The Fluent Developer brauche ich allerdings in jedem examples-Unterverzeichnis einen eigenen Autoloader, damit die Beispiele auch losgelöst aus dem Projekt funktionieren. Und ich möchte ja gerade nicht, dass es möglich ist, aus einem Beispiel heraus ein ganz anderes Beispiel zu referenzieren und Code von dort zu verwenden.

Ein großer Autoloader über alle Projekte hilft mir also nicht weiter, obwohl er natürlich auch ein weiteres gutes Argument für eindeutige Klassennamen wäre.

Für das Softwareprojekt The Fluent Developer verwende ich übrigens durchaus Composer. Das wird für Nutzer der Plattform aber nicht sichtbar.