Wo sollte Business-Logik in einer Laravel-Anwendung leben?
Weder im Controller noch im Model — Ersteres macht sie aus einem Command heraus unerreichbar, Letzteres macht das Model zu einem Ort, an dem sich alles ansammelt. Service- oder Action-Klassen mit einer einzigen Verantwortung, die entgegennehmen, was sie brauchen, und ein Ergebnis zurückgeben, bleiben testbar und lassen sich gleichermaßen aus Controller, Job oder Konsolenbefehl aufrufen.