Laravel: Das PHP-Framework für moderne Webentwicklung
- 1. Was ist Laravel?
- 2. Laravel-Architektur im Detail
- 3. Das Laravel-Ökosystem
- 4. Sicherheit in Laravel
- 5. Einsatzgebiete: wofür eignet sich Laravel?
- 6. Laravel in Zahlen
- 7. Laravel vs. Symfony: eine Einordnung
- 8. Laravel-Entwicklung bei TenMedia
- 9. Laravel-Projekte langfristig betreiben
- 10. Weiterführende Informationen
Was ist Laravel?
Laravel ist ein quelloffenes PHP-Framework, das auf dem Model-View-Controller-Muster basiert. Taylor Otwell veröffentlichte die erste Version im Juni 2011 mit einem klaren Ziel: PHP-Entwicklung sollte produktiver, strukturierter und eleganter werden, als es mit den damals dominierenden Frameworks möglich war. Der Name “Artisan” für das integrierte Kommandozeilenwerkzeug ist kein Zufall, er steht für den Anspruch, Software als Handwerk zu behandeln.
Die Entstehung von Laravel fällt in eine Phase, in der PHP seinen Ruf als “unsaubere” Sprache abzulegen begann. Welche Stärken die Sprache in der Softwareentwicklung mit PHP insgesamt ausspielt, fasst der Glossarbeitrag zusammen. Mit PHP 5.3 kamen Namespaces, mit Composer ein moderner Paketmanager. Laravel nutzte diese Neuerungen konsequent und setzte von Beginn an auf eine komponentenbasierte Architektur. Unter der Haube verwendet das Laravel Framework rund 30 Symfony-Komponenten, etwa für HTTP-Handling, Routing und Konsolen-Befehle. Das ist kein Widerspruch, sondern gute Ingenieurspraxis: Bewährte Bausteine werden wiederverwendet, statt neu erfunden.
Die Versionsgeschichte von Laravel spiegelt die Reifung des gesamten PHP-Ökosystems wider. Version 4 (2013) führte Composer als zentralen Paketmanager ein und machte Laravel modular. Version 5 (2015) brachte eine neue Verzeichnisstruktur, Middleware und das Artisan-Kommandozeilenwerkzeug in seiner heutigen Form. Mit Version 6 (2019) wechselte Laravel zu Semantic Versioning und einem jährlichen Release-Rhythmus. Version 8 führte Laravel Jetstream und verbesserte Factories ein. Version 9 erforderte erstmals PHP 8.0 und nutzte dessen Features wie Named Arguments und Enums.
Laravel 11 (März 2024) hat die Projektstruktur weiter verschlankt. Die früheren Service Provider wurden reduziert, die Konfiguration vereinfacht, und mit einer neuen minimalen Anwendungsstruktur lässt sich ein Projekt schneller bootstrappen. Die Datei bootstrap/app.php übernimmt nun die zentrale Konfiguration von Middleware, Routing und Exception Handling, ein Paradigmenwechsel gegenüber den verteilten Service Providern früherer Versionen. Gleichzeitig bleibt die Rückwärtskompatibilität hoch, ein wesentlicher Faktor für den Einsatz des Laravel Frameworks in Unternehmensprojekten mit langen Lebenszyklen. Laravel 12 folgte im Februar 2025, das Framework erscheint weiterhin im jährlichen Rhythmus (Stand: Juli 2026).
Laravel-Architektur im Detail
Model-View-Controller (MVC)
Das Laravel Framework implementiert das MVC-Muster mit einer klaren Trennung: Models repräsentieren die Datenschicht und Geschäftslogik, Views erzeugen die HTML-Ausgabe, und Controller orchestrieren den Datenfluss zwischen beiden. Diese Trennung ist kein akademisches Ideal, sondern hat praktische Konsequenzen. Wenn die Datenbankstruktur sich ändert, bleibt die Präsentationsschicht unberührt. Wenn das Frontend überarbeitet wird, muss die Geschäftslogik nicht angefasst werden.
In der Praxis sieht das so aus: Ein Request trifft auf das Routing, wird an einen Controller weitergeleitet, der über ein Model Daten aus der Datenbank lädt und diese an eine View übergibt. Dieses Grundmuster skaliert von einfachen CRUD-Anwendungen bis zu komplexen Portalen mit Dutzenden von Modulen. Für größere Projekte lässt sich die Architektur durch Service-Klassen, Repositories und Event-Driven-Patterns erweitern, ohne das Grundgerüst zu verlassen.
Laravels Service Container, der Dependency-Injection-Container im Kern des Frameworks, verwaltet die Instanziierung und Verdrahtung aller Klassen. Abhängigkeiten werden automatisch aufgelöst: Wenn ein Controller eine Service-Klasse im Konstruktor erwartet, injiziert der Container die passende Instanz. Das fördert lose Kopplung und erleichtert das Testen, weil Abhängigkeiten in Tests durch Mocks ersetzt werden können. Dieses Konzept ist fundamental für die gesamte Laravel-Architektur und unterscheidet das Framework von älteren PHP-Ansätzen, bei denen Abhängigkeiten manuell verwaltet oder über Singletons gelöst wurden.
Routing und Middleware
Jeder HTTP-Request durchläuft in Laravel eine definierte Kette. Zuerst wird die Route aufgelöst, Laravel unterstützt dabei deklaratives Routing in einer zentralen Datei, Resourceful Routing für REST-APIs und seit Version 11 auch eine vereinfachte Routendefinition direkt im Bootstrap. Anschließend passiert der Request die Middleware-Pipeline.
Middleware ist eines der mächtigsten Konzepte in Laravel PHP. Jede Middleware ist eine eigenständige Klasse, die den Request inspizieren, modifizieren oder abweisen kann. Authentifizierung, CSRF-Schutz, Rate Limiting, CORS-Header und Session-Handling, all das sind Middleware-Schichten, die sich kombinieren und für einzelne Routen oder Gruppen aktivieren lassen. Eigene Middleware lässt sich in Minuten erstellen. Ein typischer Anwendungsfall: Eine Middleware, die prüft, ob ein API-Client ein gültiges Abo hat, bevor der eigentliche Controller-Code ausgeführt wird.
Das Routing-System kennt mehrere Ebenen. Web-Routen durchlaufen die vollständige Middleware-Kette mit Sessions, Cookies und CSRF-Schutz. API-Routen verzichten auf Session-Handling und nutzen stattdessen Token-Authentifizierung über Sanctum. Konsolen-Routen (Artisan Commands) und Broadcast-Routen für WebSocket-Kommunikation ergänzen das Bild. Diese Trennung ermöglicht es, verschiedene Kommunikationskanäle im selben Projekt zu betreiben, ohne Kompromisse bei der Sicherheitsarchitektur einzugehen.
Route Model Binding, die automatische Auflösung von URL-Parametern zu Eloquent-Models, ist ein weiteres Produktivitätsmerkmal. Statt in jedem Controller manuell nach einem Datensatz zu suchen und einen 404-Fehler zu werfen, erledigt Laravel das transparent. Die Route /users/{user} lädt automatisch den passenden User oder gibt einen 404-Status zurück.
Eloquent ORM
Eloquent ist Laravels Object-Relational Mapper und folgt dem Active-Record-Pattern. Jede Datenbanktabelle wird durch eine Model-Klasse repräsentiert, und jede Instanz dieser Klasse entspricht einer Tabellenzeile. Das klingt einfach, und genau das ist der Punkt: Eloquent macht den häufigsten Fall, Daten lesen, schreiben, verknüpfen, so unkompliziert wie möglich.
Beziehungen zwischen Tabellen werden als Methoden im Model definiert: hasMany, belongsTo, belongsToMany, morphMany, morphToMany und hasManyThrough. Der Query Builder dahinter erzeugt optimiertes SQL, unterstützt Eager Loading (um das N+1-Problem zu vermeiden), Scopes für wiederverwendbare Abfragen und Accessors/Mutators für die Datentransformation auf Model-Ebene. Polymorphe Beziehungen ermöglichen es, dass ein Model, etwa ein Kommentar, zu verschiedenen Elterntypen gehören kann, ohne für jeden Typ eine eigene Tabelle zu benötigen.
Eloquent bietet darüber hinaus Soft Deletes (Datensätze werden als gelöscht markiert, aber nicht physisch entfernt), Timestamps (automatische Verwaltung von created_at und updated_at), Casts (automatische Typkonvertierung, etwa JSON-Spalten zu PHP-Arrays) und Events (Hooks, die bei bestimmten Model-Operationen ausgelöst werden). Diese Features reduzieren Boilerplate-Code erheblich und decken häufige Anforderungen ab, die in anderen Frameworks manuell implementiert werden müssen.
Für die Datenbankstruktur selbst nutzt Laravel Migrations, PHP-Klassen, die Schema-Änderungen versioniert und reproduzierbar machen. In Kombination mit Seedern und Factories entsteht eine vollständige Datenbankautomatisierung: vom initialen Schema über Testdaten bis zu Produktionsmigrationen. Factories verwenden seit Laravel 8 eine klassenbasierte Syntax und unterstützen komplexe Zustände ($factory->state()), verschachtelte Beziehungen und sequenzielle Werte. Das ist besonders relevant für Teams, die mit mehreren Entwicklungsumgebungen arbeiten und Konsistenz zwischen Staging, Testing und Produktion sicherstellen müssen.
Blade Templates und Livewire
Blade ist Laravels Template Engine. Anders als Twig (das Template-System von Symfony) erlaubt Blade die direkte Verwendung von PHP-Code, setzt aber auf eine eigene Syntax mit Direktiven wie @if, @foreach, @include und @component. Blade-Templates werden zu nativem PHP kompiliert und gecacht, was sie performant macht. Custom Directives ermöglichen die Erweiterung der Template-Sprache um projektspezifische Logik, etwa eine @role('admin')-Direktive für Berechtigungsprüfungen direkt im Template.
Das Komponenten-System in Blade ermöglicht wiederverwendbare UI-Elemente mit eigener Logik. Eine Komponente kann ein Button sein, ein Formularfeld oder ein komplettes Dashboard-Widget. Die Datenübergabe erfolgt über Attribute, die Logik lebt in einer zugehörigen PHP-Klasse. Anonyme Komponenten, Blade-Dateien ohne zugehörige PHP-Klasse, eignen sich für einfache, rein präsentationale Elemente. Slots ermöglichen die Injektion von Inhalten in vordefinierte Bereiche einer Komponente, ähnlich wie Slots in Vue.js.
Livewire erweitert dieses Konzept um Reaktivität. Mit Livewire lassen sich interaktive Oberflächen bauen, Formulare mit Echtzeit-Validierung, Tabellen mit Sortierung und Filterung, modale Dialoge, Echtzeit-Suchfelder, ohne eine Zeile JavaScript schreiben zu müssen. Die Kommunikation zwischen Browser und Server läuft über AJAX-Requests, die Livewire automatisch verwaltet. Livewire 3 (veröffentlicht im Juli 2023) hat die Performance durch intelligentes DOM-Diffing und eine schlankere Wire-Kommunikation deutlich verbessert. Für viele Unternehmensanwendungen ist das ein erheblicher Produktivitätsgewinn: Die gesamte Anwendungslogik bleibt in PHP, das Team braucht kein separates Frontend-Framework zu pflegen.
Wo Livewire an Grenzen stößt, etwa bei hochgradig interaktiven Single-Page-Applications mit Offline-Fähigkeit, lässt sich Laravel problemlos mit Vue.js oder Alpine.js kombinieren. Die Inertia.js-Bridge verbindet dabei Laravel-Backend und Vue/React-Frontend, ohne dass eine separate API-Schicht nötig wäre. Alpine.js, das “jQuery für die moderne Web-Entwicklung”, wird häufig für kleine interaktive Elemente eingesetzt, die keine vollständige Livewire-Komponente rechtfertigen, etwa Dropdown-Menüs, Tooltips oder Toggle-Elemente.
Das Laravel-Ökosystem
Laravel ist nicht nur ein Framework, sondern ein ganzes Ökosystem aus offiziellen Paketen und Diensten. Diese Werkzeuge sind aufeinander abgestimmt und lösen spezifische Probleme der Webentwicklung:
Laravel Forge automatisiert die Server-Provisionierung. Forge konfiguriert Nginx, PHP-FPM, SSL-Zertifikate (via Let’s Encrypt), Datenbanken, Redis und Deployment-Pipelines auf Servern bei AWS, DigitalOcean, Hetzner, Linode oder Vultr. Ein neuer Server ist in wenigen Minuten produktionsbereit. Forge übernimmt auch das Management von Cron-Jobs, Queue-Workern und Firewall-Regeln. Damit entfällt die manuelle Serverkonfiguration, die in vielen Projekten zu Konfigurationsdrift und Sicherheitslücken führt.
Laravel Vapor geht einen Schritt weiter: Es ist eine Serverless-Deployment-Plattform auf Basis von AWS Lambda. Die Anwendung skaliert automatisch mit der Last, von null Requests bis zu Tausenden pro Sekunde, und die Abrechnung erfolgt nach tatsächlicher Nutzung. Vapor übernimmt das Management von CloudFront, API Gateway, SQS, DynamoDB-Sessions und S3-Storage. Für Anwendungen mit stark schwankender Last, etwa saisonale Portale, Event-getriebene Systeme oder kampagnenbasierte Plattformen, kann das wirtschaftlich und technisch attraktiv sein.
Laravel Nova ist ein Code-getriebenes Administrations-Dashboard. Im Gegensatz zu generierten Admin-Panels wird Nova in PHP konfiguriert und ist dadurch voll anpassbar: Metriken (Wert, Trend, Partition), Filter, Linsen, Aktionen (Einzel- und Massenaktionen), Beziehungsmanagement und benutzerdefinierte Werkzeuge lassen sich ohne Einschränkungen implementieren. Nova ist kostenpflichtig (Einmallizenz pro Projekt) und wird für interne Verwaltungsoberflächen eingesetzt, bei denen ein maßgeschneidertes Backend nötig ist, aber der Aufwand einer vollständig eigenen Implementierung nicht gerechtfertigt wäre.
Laravel Horizon bietet ein Echtzeit-Dashboard und Konfigurationssystem für Redis-basierte Queue-Verarbeitung. Horizon visualisiert den Durchsatz, die Wartezeiten, Fehlschläge und die Worker-Auslastung von Hintergrundprozessen, etwa E-Mail-Versand, Report-Generierung, Datenimporte oder Webhook-Verarbeitung. Auto-Scaling-Strategien lassen sich konfigurieren, sodass bei Lastspitzen automatisch mehr Worker gestartet werden. Alerts bei überlaufenden Queues oder gehäuften Fehlschlägen runden das Bild ab.
Laravel Telescope ist ein Debug-Werkzeug für die Entwicklungsumgebung. Es protokolliert Requests, Datenbankabfragen, Queue-Jobs, Events, Mail-Versand, Notifications, Cache-Operationen, Scheduled Tasks, Dumps und Log-Einträge. Telescope macht sichtbar, was in einer Laravel-Anwendung tatsächlich passiert, ein Werkzeug, das bei der Fehlersuche und Performance-Optimierung erheblich Zeit spart. Langsame Datenbankabfragen, redundante Cache-Zugriffe und fehlerhafte Event-Ketten werden sofort sichtbar.
Laravel Sanctum bietet leichtgewichtige API-Authentifizierung über Token und SPA-Authentifizierung über Cookies. Sanctum ist die empfohlene Lösung für Single-Page-Applications und mobile Apps, die mit einem Laravel-Backend kommunizieren. Laravel Passport implementiert dagegen einen vollständigen OAuth2-Server für komplexere Authentifizierungsszenarien mit Drittanbieter-Zugriff, Scopes und Token-Revocation.
Laravel Breeze und Jetstream liefern Authentifizierungs-Scaffolding: Login, Registrierung, Passwort-Reset, E-Mail-Verifizierung und Zwei-Faktor-Authentifizierung als fertige, anpassbare Implementierung. Breeze ist minimalistisch und bietet Starter-Kits für Blade, Vue (mit Inertia), React (mit Inertia) und API-only. Jetstream bietet zusätzlich Team-Management, API-Token-Verwaltung über Sanctum und Profilfotos. Beide Pakete liefern vollständigen, getesteten Code, keine Black Box, sondern anpassbare Grundlage.
Sicherheit in Laravel
Sicherheit ist in Laravel keine optionale Erweiterung, sondern in die Kernarchitektur eingebaut. Das Laravel Framework adressiert die häufigsten Angriffsvektoren durch Standardmechanismen, die automatisch aktiv sind:
CSRF-Schutz: Jedes Formular erhält automatisch ein CSRF-Token über die @csrf-Blade-Direktive. Die VerifyCsrfToken-Middleware prüft bei jedem POST-, PUT-, PATCH- und DELETE-Request, ob ein gültiges Token vorhanden ist. Requests ohne gültiges Token werden mit einem 419-Status abgewiesen. Das verhindert Cross-Site Request Forgery, bei dem ein Angreifer Aktionen im Namen eines authentifizierten Nutzers ausführt.
SQL-Injection-Prävention: Eloquent und der Query Builder verwenden durchgängig parametrisierte Queries (Prepared Statements). Nutzereingaben werden nie direkt in SQL-Strings eingefügt, sondern als gebundene Parameter übergeben. Selbst bei Verwendung von Raw Queries bietet Laravel Binding-Mechanismen, die SQL Injection verhindern. Die einzige Ausnahme ist die bewusste Verwendung von DB::raw() mit ungesäubertem Input, ein Anti-Pattern, das durch Code Reviews erkannt werden sollte.
XSS-Schutz: Blade escaped standardmäßig alle Ausgaben mit {{ }} über htmlspecialchars(). Nur die explizite {!! !!}-Syntax gibt unescapten HTML-Code aus. Das verhindert, dass eingeschleuster JavaScript-Code im Browser ausgeführt wird. Content Security Policy Headers lassen sich über Middleware ergänzen, um die XSS-Prävention weiter zu verstärken.
Authentifizierung und Autorisierung: Laravel bringt ein vollständiges Authentifizierungssystem mit, inklusive Hashing (bcrypt mit konfigurierbarem Cost-Faktor oder Argon2id), Session-Management mit HTTP-Only Cookies und Remember-Token. Die Autorisierung läuft über Policies und Gates, die feingranulare Berechtigungsprüfungen ermöglichen, etwa: Darf dieser Nutzer diesen spezifischen Datensatz bearbeiten? Gates sind Closure-basierte Prüfungen für einfache Fälle, Policies sind klassenbasiert und an Models gebunden. Middleware wie can:update,post verbindet Autorisierung direkt mit dem Routing.
Verschlüsselung: Laravel verschlüsselt Cookies, Sessions und andere sensible Daten automatisch mit AES-256-CBC oder AES-256-GCM. Der APP_KEY in der Umgebungskonfiguration dient als Verschlüsselungsschlüssel. Der Encryption-Service (Crypt-Facade) steht auch für anwendungsspezifische Verschlüsselung zur Verfügung, etwa für API-Keys, die in der Datenbank gespeichert werden.
Rate Limiting: Laravel bietet ein konfigurierbares Rate-Limiting-System, das Brute-Force-Angriffe auf Login-Formulare, API-Endpoints und andere sensible Routen verhindert. Die Limits werden in der Regel per IP-Adresse oder Benutzer-ID definiert und können dynamisch angepasst werden.
Für Projekte mit erhöhten Sicherheitsanforderungen, etwa im öffentlichen Sektor oder bei zertifizierungspflichtigen Anwendungen, bietet Laravel eine solide Grundlage. Die tatsächliche Sicherheit hängt jedoch von der Implementierung ab: sichere Konfiguration (.env nicht im Webroot), regelmäßige Updates, Code Reviews und Penetrationstests bleiben unverzichtbar.
Einsatzgebiete: wofür eignet sich Laravel?
Laravel ist kein Universalwerkzeug, aber sein Einsatzspektrum ist breit. Die typischen Projekttypen, die mit dem Laravel Framework realisiert werden:
Webportale und Plattformen. Portale mit Nutzerverwaltung, Rollenkonzepten, Content-Management und komplexer Geschäftslogik sind der Kernbereich von Laravel. Beispiele reichen von Bürgerportalen für öffentliche Einrichtungen bis zu B2B-Plattformen mit Bestell- und Abrechnungssystemen. Laravels Authentifizierungs-Scaffolding, Eloquent-Beziehungen und Blade-Komponenten machen den Aufbau solcher Portale effizient. Wo ein klassisches CMS wie WordPress an seine strukturellen Grenzen stößt, bietet Laravel PHP die Flexibilität einer individuellen Architektur.
SaaS-Anwendungen. Die Multi-Tenancy-Fähigkeit (über Pakete wie stancl/tenancy oder auf Datenbankebene), das Queue-System für Hintergrundverarbeitung, Webhook-Handling und die API-Infrastruktur machen Laravel zu einer soliden Basis für Software-as-a-Service-Produkte. Die Skalierung lässt sich über Horizontal Scaling mit Load Balancern oder Serverless über Vapor abbilden. Stripe-Integration für Billing ist über Laravel Cashier mit wenigen Zeilen Code möglich.
REST-APIs und Backend-Services. Laravel bietet mit API Resources (für die Transformation von Models zu JSON), Sanctum/Passport (für Authentifizierung), Rate Limiting, API Versioning und umfassender Validierung alles, was für professionelle API-Entwicklung nötig ist. APIs lassen sich mit Tools wie Scribe oder L5-Swagger automatisch dokumentieren. Die Trennung von Web- und API-Routen ermöglicht den Betrieb beider Kanäle im selben Projekt ohne Kompromisse.
Administrative Backends und Fachanwendungen. Interne Werkzeuge, Verwaltungssysteme und Datenbankanwendungen profitieren besonders von Eloquent und Nova beziehungsweise Filament. Die schnelle Entwicklung von CRUD-Oberflächen mit Filtern, Sortierung, Export-Funktionen und Massenaktionen spart erheblich Zeit gegenüber manueller Implementierung. Livewire ermöglicht dabei reaktive Interfaces ohne JavaScript-Overhead.
Individuelle CMS-Lösungen. Wo WordPress an seine Grenzen stößt, bei komplexen Datenmodellen, hohen Sicherheitsanforderungen, individuellen Workflows oder Multi-Mandanten-Fähigkeit, bietet Laravel die Flexibilität einer maßgeschneiderten Lösung. Das betrifft vor allem Unternehmen, die über einfache Blog- und Seitenverwaltung hinausgewachsen sind und eine Anwendung benötigen, die ihre Geschäftsprozesse exakt abbildet.
E-Commerce-Backends. Für individuelle Shop-Systeme, die über die Möglichkeiten von Standardlösungen wie Shopify oder WooCommerce hinausgehen, bietet Laravel die Basis. Produktkataloge, Warenkorblogik, Zahlungsintegration (Stripe, PayPal), Bestellverwaltung und Versandanbindung lassen sich mit Laravel und Eloquent strukturiert und testbar implementieren.
Laravel in Zahlen
Die Verbreitung von Laravel PHP lässt sich an harten Zahlen ablesen. Auf GitHub zählt das Framework über 78.000 Sterne und gehört damit zu den populärsten Open-Source-Projekten im Web-Umfeld, in einer Größenordnung mit Django (Python), Ruby on Rails und Spring Boot (Java). Auf Packagist, dem zentralen PHP-Paketverzeichnis, wurde das laravel/framework-Paket über 300 Millionen Mal heruntergeladen. Das laravel/laravel-Skeleton (die Projektvorlage für neue Anwendungen) hat über 80 Millionen Downloads.
Die Community ist eine der aktivsten im PHP-Ökosystem. Die jährliche Laracon-Konferenz findet auf drei Kontinenten statt: Laracon US, Laracon EU und Laracon AU. Regionale Meetups gibt es in Dutzenden von Städten weltweit, darunter auch in Berlin und anderen deutschen Großstädten. Laracasts, die offizielle Lernplattform von Jeffrey Way, zählt über zwei Millionen registrierte Nutzer und Tausende Video-Tutorials. Auf Stack Overflow ist “laravel” mit über 200.000 Fragen eines der meistgenutzten Tags im PHP-Bereich.
Auch der Arbeitsmarkt spiegelt diese Dominanz wider. In Stellenausschreibungen für PHP-Entwicklung ist Laravel mit Abstand das am häufigsten geforderte Framework, sowohl in Deutschland als auch international. Laut der Stack Overflow Developer Survey gehört Laravel konstant zu den beliebtesten und meistgenutzten Web-Frameworks. In Deutschland verzeichnet der Arbeitsmarkt steigende Nachfrage nach Laravel-Expertise, insbesondere im Bereich öffentlicher Auftraggeber und Mittelstand. Die Kombination aus hoher Verbreitung und aktiver Community bedeutet auch: Entwickler mit Laravel-Erfahrung sind verfügbar, und das Framework wird langfristig weiterentwickelt. Für Unternehmen, die in Laravel investieren, ist das ein relevanter Stabilitätsfaktor.
Laravel vs. Symfony: eine Einordnung
Laravel und Symfony werden oft als Konkurrenten dargestellt, was der Realität nicht gerecht wird. Laravel basiert selbst auf Symfony-Komponenten, rund 30 Pakete aus dem Symfony-Ökosystem bilden die Basis für HTTP-Handling, Routing, Konsolen-Befehle, Event Dispatching und weitere Kernfunktionen. Die beiden Frameworks adressieren jedoch unterschiedliche Präferenzen: Laravel setzt auf Convention over Configuration und schnellen Einstieg, Symfony auf explizite Konfiguration und volle Kontrolle.
Die Unterschiede zeigen sich am deutlichsten in der ORM-Wahl (Eloquent mit Active Record vs. Doctrine mit Data Mapper), der Template Engine (Blade vs. Twig) und der Konfigurationsphilosophie (implizit vs. explizit). Beide Ansätze sind technisch valide, die Wahl hängt von Projektanforderungen, Teamstruktur und langfristiger Wartungsstrategie ab.
Für eine detaillierte technische Gegenüberstellung, inklusive Architekturvergleich, Performance-Betrachtung und Entscheidungshilfe, gibt es eine eigene Analyse: Laravel vs. Symfony im Vergleich.
Auf übergeordneter Ebene bietet der PHP-Framework-Vergleich eine breitere Einordnung, die auch andere Frameworks wie CakePHP, CodeIgniter und Laminas berücksichtigt.
Laravel-Entwicklung bei TenMedia
TenMedia setzt Laravel seit über zehn Jahren als primäres Framework für die Softwareentwicklung ein. Das Berliner Entwicklungsteam arbeitet ausschließlich inhouse, ohne Freelancer, ohne Offshoring. Diese Entscheidung hat Gründe: Bei sicherheitskritischen Projekten für öffentliche Auftraggeber und regulierte Branchen ist die Kontrolle über den gesamten Entwicklungsprozess nicht verhandelbar.
Der Technology Stack bei TenMedia ist auf Laravel abgestimmt: Eloquent ORM für die Datenbankschicht (MySQL/MariaDB), Blade und Livewire für serverseitige Frontends, Vue.js und Alpine.js für komplexere Client-Interaktionen, TailwindCSS für das Styling. Die Infrastruktur basiert auf Docker Compose für lokale Entwicklungsumgebungen und Kubernetes für die Produktion, mit Azure und AWS als Cloud-Plattformen. Redis übernimmt Caching und Queue-Management, APCu dient als schneller In-Memory-Cache für häufig abgefragte Konfigurationsdaten.
Die Qualitätssicherung basiert auf einem mehrstufigen Testing-Ansatz. PHPUnit deckt Unit- und Integrationstests ab, Laravel Dusk automatisiert Browser-Tests, und die CI/CD-Pipeline in Azure DevOps stellt sicher, dass kein Code ohne bestandene Tests in die Produktion gelangt. Code Reviews durch mindestens einen zweiten Entwickler sind für jeden Merge Request Pflicht. Die ISO-27001- und ISO-9001-Zertifizierungen durch den TÜV Süd dokumentieren, dass diese Prozesse nicht nur existieren, sondern systematisch gelebt und regelmäßig auditiert werden.
Typische Laravel-Projekte bei TenMedia umfassen Webportale für öffentliche Einrichtungen, datenbankgetriebene Fachanwendungen, API-Backends und individuelle Verwaltungssysteme. Zu den Referenzkunden zählen unter anderem der Berliner Senat, die Bezirksregierung Köln und die Friedrich-Alexander-Universität Erlangen-Nürnberg. Die Bandbreite reicht von internen Werkzeugen mit wenigen Hundert Nutzern bis zu Portalen mit Tausenden täglichen Zugriffen.
Eine Laravel-Agentur auszuwählen, ist eine Entscheidung mit langfristigen Konsequenzen. Zertifizierungen, Inhouse-Entwicklung und nachweisbare Referenzen sind dabei verlässlichere Indikatoren als Marketing-Versprechen.
Laravel-Projekte langfristig betreiben
Ein Laravel-Projekt endet nicht mit dem Go-Live. Frameworks entwickeln sich weiter, Abhängigkeiten erhalten Sicherheitsupdates, und die Anforderungen an eine Anwendung ändern sich über die Zeit. Wartung ist deshalb kein optionaler Zusatz, sondern integraler Bestandteil des Software-Lebenszyklus.
Laravel veröffentlicht jährlich eine neue Major-Version. Jede Version erhält 18 Monate Bugfixes und 2 Jahre Sicherheitsupdates. Wer länger wartet, riskiert den Betrieb auf einer Version ohne Sicherheitssupport, ein Risiko, das in regulierten Umgebungen nicht tragbar ist. Die Aktualisierung wird durch offizielle Upgrade Guides und das Tool Laravel Shift unterstützt, das den Großteil der Migrationsarbeit automatisiert.
Neben dem Framework selbst müssen auch die Composer-Abhängigkeiten gepflegt werden. Eine typische Laravel-Anwendung hat 40 bis 80 direkte Dependencies und mehrere Hundert transitive. Sicherheitsadvisories, Breaking Changes und veraltete Pakete erfordern kontinuierliche Aufmerksamkeit. Tools wie composer audit, Dependabot und Renovate automatisieren die Erkennung, die Bewertung und Umsetzung bleibt Aufgabe des Entwicklungsteams.
Die Aktualisierung von Composer-Abhängigkeiten, das Monitoring von Sicherheitsadvisories, die Pflege von Datenbank-Migrationen und die kontinuierliche Anpassung der Testabdeckung, all das erfordert systematisches Vorgehen. Detaillierte Informationen zu Wartungsstrategien und Support-Zyklen finden sich im Beitrag Laravel-Wartung und Updates.
TenMedia bietet Wartungsverträge ab 900 EUR monatlich an, die regelmäßige Updates, Monitoring und Incident Response umfassen. Für Projekte mit erhöhten Verfügbarkeitsanforderungen stehen Service Level Agreements mit definierten Reaktionszeiten zur Verfügung.
Weiterführende Informationen
- Laravel-Wartung: Updates, Monitoring und langfristige Pflege
- Laravel vs. Symfony: Direktvergleich der beiden Frameworks
- PHP-Framework-Vergleich: alle gängigen PHP-Frameworks im Überblick
- PHP-Wartung: allgemeine Wartungsstrategien für PHP-Anwendungen