siteway

// stack · php

Laravel.

Laravel ist das PHP-Framework, mit dem bei siteway alles entsteht, das mehr können muss als Inhalte ausliefern: Portale, Rechner, Kundenbereiche, Schnittstellen. Diese Seite zeigt die Bausteine — Eloquent, Migrations, Queues, Artisan, Form Requests, Policies, Tests — und die Leitplanken, nach denen wir sie zusammensetzen.

stack stack: laravel einsatz: anwendungen · portale · apis aktuell: 13.x seit: 2006

// definition

Was ist Laravel?

php · mvc

Laravel ist ein quelloffenes PHP-Framework für Webanwendungen, das dem MVC-Muster folgt und die wiederkehrenden Teile einer Anwendung ab Werk mitbringt: Routing, Datenbankzugriff über das Eloquent-ORM, versionierte Migrations fürs Schema, Queues für Hintergrundarbeit, die Kommandozeile Artisan, Validierung, Authentifizierung und ein Rechtesystem. Taylor Otwell hat es 2011 veröffentlicht, es steht unter MIT-Lizenz.

Wichtig für die Einordnung: Laravel ist kein fertiges Produkt, das man installiert und befüllt. Es ist ein Gerüst mit klaren Konventionen — wo Code hingehört, wie Daten geladen werden, wie eine Anfrage durch die Anwendung läuft. Diese Konventionen sind der eigentliche Wert: Zwei Entwickler, die Laravel kennen, finden sich in einem fremden Projekt nach wenigen Minuten zurecht. Wie das Framework in unseren Stack passt und wann eine Eigenentwicklung überhaupt sinnvoll ist, steht im Überblick unter PHP & Laravel.

// praxis

Wie wir Laravel einsetzen.

dünne controller · dicke services

Die häufigste Ursache für eine Laravel-Anwendung, die nach zwei Jahren niemand mehr anfassen will, ist immer dieselbe: Controller, in denen alles steckt — Validierung, Rechteprüfung, Fachlogik, Datenbankzugriff, E-Mail-Versand. Das funktioniert bis zur dritten Änderungsanfrage. Deshalb ziehen wir die Schichten von Anfang an auseinander: Der Controller nimmt die Anfrage entgegen und gibt eine Antwort zurück — mehr nicht. Die Fachlogik liegt in Services und Actions, also in Klassen mit einer Aufgabe und einem Namen, der sie verrät.

Alles, was von außen kommt, wird vorher gefiltert. Eingaben laufen durch Form Requests — ein Ort pro Formular, an dem die Regeln und die deutschen Fehlermeldungen stehen, statt verstreut über Controller und Template. Berechtigungen liegen in Policies: „Darf dieser Nutzer diesen Datensatz bearbeiten?" wird einmal beantwortet und überall gleich geprüft, im Controller wie im View. Das Datenmodell selbst führen wir über Migrations, damit lokal, Staging und Produktion denselben Stand aufbauen und keine Änderung von Hand nachgeklickt wird.

Alles Langsame verlässt den Request: PDF-Erzeugung, Bildverarbeitung, Mailversand, der Aufruf einer fremden API wandern in Queues. Der Nutzer bekommt sofort eine Antwort, ein Worker erledigt die Arbeit nebenläufig, fehlgeschlagene Jobs landen nachvollziehbar in der Fehlertabelle statt still zu verschwinden. Wiederkehrende Aufgaben — nächtliche Importe, Reports, Aufräumläufe — bauen wir als eigene Artisan-Befehle und hängen sie in den Scheduler.

Abgesichert wird das über Tests: nicht flächendeckend, sondern dort, wo Geld, Rechte oder Daten im Spiel sind. Diese Tests laufen bei jedem Push über Git und GitHub Actions, bevor irgendetwas live geht. Beim Schreiben helfen uns Copilot, Cursor und Claude — jeder Stand wird von einem Menschen gelesen, bevor er gemergt wird. Wie wir mit KI-gestützter Entwicklung arbeiten, steht im eigenen Stack-Kapitel.

// bausteine · 6 details

Die Bausteine im Detail.

was davon wirklich trägt

Laravel bringt weit mehr mit, als ein Projekt je braucht. Das sind die sechs Teile, die in unseren Anwendungen tatsächlich jeden Tag arbeiten — mit dem, was in der Praxis daran wichtig ist.

// b-01daten

Eloquent ORM.

Jede Tabelle wird ein Model, jede Beziehung im Code beschrieben. Der Fallstrick heißt N+1: eine Liste lädt pro Zeile eine weitere Abfrage nach. Wir laden Beziehungen deshalb bewusst mit — und arbeiten große Datenmengen in Portionen ab, statt sie komplett in den Speicher zu ziehen.

achtung: n+1 · eager loading

// b-02schema

Migrations & Seeds.

Das Schema liegt versioniert im Repository, jede Änderung ist eine Datei mit Datum. Dazu Factories und Seeder, die eine Datenbank mit realistischen Testdaten füllen — so entwickelt und testet niemand gegen einen leeren Bestand oder gegen einen Abzug echter Kundendaten.

zweck: schema im git · testdaten

// b-03nebenläufig

Queues & Worker.

Ein Job wird in die Warteschlange gelegt, ein Worker-Prozess arbeitet ihn ab. Wichtig ist, was danach passiert: Wie oft wird ein Job wiederholt, mit welchem Abstand, und wo landet er, wenn er endgültig scheitert. Fehlgeschlagene Jobs bleiben sichtbar — sonst verschwinden Bestellungen still.

achtung: retries · failed jobs

// b-04automation

Artisan & Scheduler.

Die Kommandozeile von Laravel. Wir bauen eigene Befehle für alles, was sonst jemand von Hand machen müsste — Import aus einem Fremdsystem, Report, Aufräumlauf — und hängen sie in den Scheduler. Ein einziger Cron-Eintrag auf dem Server, der Rest steht als Code im Repository.

zweck: cli · geplante jobs

// b-05eingang

Form Requests & Policies.

Zwei Fragen, zwei feste Orte: „Sind die Daten in Ordnung?" beantwortet ein Form Request, „darf dieser Nutzer das?" eine Policy. Beides steht dann genau einmal im Projekt statt in jedem Controller neu — und lässt sich einzeln testen, ohne die halbe Anwendung hochzufahren.

zweck: validierung · rechte

// b-06absicherung

Tests.

Laravel bringt eine Testumgebung samt eigener Datenbank mit. Wir testen nicht alles, sondern das Teure: Preisberechnung, Rechteprüfung, Formularstrecken, Schnittstellen. Diese Tests laufen bei jedem Push in der CI — und sind der Grund, warum ein Major-Upgrade planbar bleibt statt zum Blindflug zu werden.

zweck: feature-tests in der ci

// datenpunkt · lebenszyklus

Wie lange eine Version hält.

planbar statt überraschend

Laravel erscheint in einem festen Jahresrhythmus: eine Hauptversion pro Jahr, jeweils im ersten Quartal. Danach gibt es 18 Monate Bugfixes und 24 Monate Sicherheits-Updates. Version 13 ist am 17. März 2026 erschienen und setzt mindestens PHP 8.3 voraus. Für uns heißt das: Der Upgrade-Termin einer betreuten Anwendung steht Jahre im Voraus fest und wandert als eigener Posten in die Wartungsplanung — statt irgendwann als Notfall aufzuschlagen.

// support-fenster der laravel-hauptversionen
v11 v12 v13 2024 2025 2026 2027 2028

kräftiger Balken = Bugfixes (18 Monate) · heller Balken = Sicherheits-Updates (24 Monate).
Quelle: laravel.com, Release Notes & Support Policy, abgerufen im Juli 2026.

// beleg

Wo Laravel bei uns läuft.

projekte statt tutorials

Der typische Fall ist ein Projekt, in dem nicht Seiten den Kern bilden, sondern Objekte, Filter und Regeln. Für die Garbe-Gruppe haben wir ein Karten-Portal auf Basis von Mapbox und OpenStreetMap gebaut — Standorte, Datensätze, Suchlogik, eine Schnittstelle dahinter. In so einem Projekt arbeitet ein CMS gegen sich selbst; ein Framework bildet die Fachwelt direkt ab. Alle Referenzen stehen unter Cases.

Der zweite, weniger offensichtliche Fall: Laravel läuft auch dort mit, wo man es nicht sieht. Statamic ist kein eigenes System, sondern ein Laravel-Paket — unter jeder Statamic-Website steckt eine vollständige Laravel-Anwendung. Genau das nutzen wir: Redaktion und eigene Fachlogik im selben Projekt, ohne Systemwechsel, wenn aus einer Website später ein Kundenbereich oder eine Formularstrecke wächst.

Und wo Inhalt wirklich der Kern ist, gehen wir den anderen Weg: Der Konzern-Auftritt von Spelsberg läuft seit 2018 auf TYPO3 in 13 Sprachen, angebunden an PIM, Cadenas, Algolia und Hubspot. Redaktion, nicht Fachlogik — ein Framework wäre dort der Umweg gewesen.

// entscheidung

Wann Laravel passt — und wann nicht.

ehrlich eingeordnet

Laravel ist ein gutes Werkzeug — aber nicht für jedes Projekt das richtige. Die Frage ist nicht, welches Framework das beste ist, sondern was in deinem Projekt im Zentrum steht: Logik oder Inhalt. An diesen drei Punkten entscheidet sich das bei uns.

// p-01passt

Eigene Fachlogik.

Deine Fachwelt besteht aus mehr als Seiten und Artikeln: Buchungen, Verträge, Geräte, Anträge — mit eigenen Regeln, Zuständen und Rechten. Genau dafür ist ein Framework gebaut. Als Leistung buchbar unter Entwicklung & Umsetzung.

domänen-modell

// p-02passt

Schnittstellen & Portale.

Die Anwendung muss mit CRM, Warenwirtschaft oder Payment sprechen, Daten synchron halten oder selbst eine API bereitstellen. Queues, Jobs und Tests machen aus einer fragilen Anbindung einen belastbaren Teil der Anwendung.

api · integration

// p-03besser cms

Inhalt im Zentrum.

Wenn es um Seiten, Artikel und Redaktion geht, ist ein CMS schneller gebaut und einfacher zu pflegen. Dann führt der Weg zu CMS & Redaktion — oder zu Statamic, das Laravel als Unterbau mitbringt.

redaktion statt logik

weiche logik im zentrum: laravel inhalt im zentrum: cms die weiche im überblick →

// faq

Häufige Fragen.

Welche Laravel-Version ist aktuell — und wie lange wird sie gepflegt?

Aktuell ist Laravel 13, erschienen am 17. März 2026 und lauffähig ab PHP 8.3. Laravel folgt einem festen Jahresrhythmus: Jede Hauptversion erscheint im ersten Quartal, bekommt 18 Monate lang Bugfixes und 2 Jahre lang Sicherheits-Updates. Damit lässt sich der Upgrade-Termin Jahre im Voraus planen statt hektisch nachzuholen. siteway hält betreute Anwendungen im unterstützten Fenster und plant das Major-Upgrade als eigenen Arbeitsschritt ein — nicht nebenbei.

Wofür eignet sich Laravel besonders gut?

Für alles, wo eigene Fachlogik der Kern ist: Portale mit Rollen und Rechten, Konfiguratoren und Rechner, Buchungs- und Antragsstrecken, Kundenbereiche, Schnittstellen zu CRM, Warenwirtschaft oder Payment sowie eigene REST-APIs. Laravel bringt dafür Routing, Datenbankzugriff, Berechtigungen, Hintergrundjobs und Tests mit — also genau die Teile, die man sonst in jedem Projekt neu erfinden würde. Für reine Inhaltsseiten ist ein CMS der kürzere Weg.

Wie hält siteway eine Laravel-Anwendung langfristig wartbar?

Über Leitplanken, die vom ersten Tag an gelten: Controller bleiben dünn und orchestrieren nur, die Fachlogik liegt in Services und Actions. Eingaben werden in Form Requests validiert, Berechtigungen in Policies geregelt, das Datenbankschema versioniert in Migrations geführt. Alles Langsame wandert in Queues. Die Kernlogik ist mit Tests abgesichert, die bei jedem Push über GitHub Actions laufen. Das Ergebnis: Eine Anwendung, die man nach zwei Jahren noch lesen und erweitern kann, auch wenn jemand anderes weiterarbeitet.

Was braucht eine Laravel-Anwendung im Betrieb — reicht ein normales Webhosting?

Ein einfaches Webhosting reicht selten. Laravel braucht eine passende PHP-Version, Composer beim Deployment, ein Document-Root, das auf das public-Verzeichnis zeigt, und in der Regel einen Cron-Eintrag für den Scheduler. Sobald Queues im Spiel sind, kommt ein dauerhaft laufender Worker-Prozess dazu, der überwacht neu gestartet wird. siteway klärt diese Punkte vor dem Start, damit die Anwendung nicht auf einem Hosting landet, das sie nicht tragen kann.

Kann eine bestehende PHP-Anwendung nach Laravel überführt werden?

Ja, und meist schrittweise. Wir beginnen mit dem Datenmodell: Das bestehende Schema wird in Migrations und Eloquent-Models überführt, danach wandern einzelne Funktionsbereiche nacheinander in die neue Anwendung, während der Rest weiterläuft. Das dauert länger als ein Neubau am Reißbrett, aber es hält den Betrieb am Laufen und macht jeden Schritt einzeln testbar. Ob sich der Weg lohnt, klärt siteway vorher ehrlich — manchmal ist die Antwort ein sauberer Neubau.

Was hat Statamic mit Laravel zu tun?

Statamic ist kein eigenständiges System, sondern ein Laravel-Paket: Unter jeder Statamic-Website läuft eine vollwertige Laravel-Anwendung. Das ist praktisch, weil man einen Redaktionsauftritt starten und später eigene Fachlogik direkt danebenlegen kann — Formularstrecken, ein Kundenbereich, eine Schnittstelle — ohne das System zu wechseln. siteway nutzt genau diese Kombination, wenn Inhalt und Anwendung zusammenwachsen sollen.

// Eine Anwendung, die mehr können muss?

Projekt anfragen